authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-09-16 14:42:38+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-09-16 14:51:29+02:00
logd5c73a44b796aaaebe748b1a8cb862c7a3dadae1
treec9bf25e22208d5d84dd892a52bd4591968a111e0
parentfc20677fde9155c8dbd694eb157b63317623fbc6
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

test: rename issue_8550 standalone test to compile_asm


9 files changed, 117 insertions(+), 117 deletions(-)

test/standalone/build.zig.zon+2-2
...@@ -37,8 +37,8 @@...@@ -37,8 +37,8 @@
37 .issue_339 = .{37 .issue_339 = .{
38 .path = "issue_339",38 .path = "issue_339",
39 },39 },
40 .issue_8550 = .{40 .compile_asm = .{
41 .path = "issue_8550",41 .path = "compile_asm",
42 },42 },
43 .issue_794 = .{43 .issue_794 = .{
44 .path = "issue_794",44 .path = "issue_794",
test/standalone/compile_asm/boot.S created+33
...@@ -0,0 +1,33 @@
1 .section ".text.boot"
2
3 .global _start
4
5 _start:
6 mrc p15, #0, r1, c0, c0, #5
7 and r1, r1, #3
8 cmp r1, #0
9 bne halt
10
11 mov sp, #0x8000
12
13 ldr r4, =__bss_start
14 ldr r9, =__bss_end
15 mov r5, #0
16 mov r6, #0
17 mov r7, #0
18 mov r8, #0
19 b 2f
20
21 1:
22 stmia r4!, {r5-r8}
23
24 2:
25 cmp r4, r9
26 blo 1b
27
28 ldr r3, =main
29 blx r3
30
31 halt:
32 wfe
33 b halt
test/standalone/compile_asm/build.zig created+29
...@@ -0,0 +1,29 @@
1const std = @import("std");
2
3pub fn build(b: *std.Build) !void {
4 const test_step = b.step("test", "Test it");
5 b.default_step = test_step;
6
7 const optimize: std.builtin.OptimizeMode = .Debug;
8 const target = b.resolveTargetQuery(.{
9 .os_tag = .freestanding,
10 .cpu_arch = .arm,
11 .cpu_model = .{
12 .explicit = &std.Target.arm.cpu.arm1176jz_s,
13 },
14 });
15
16 const kernel = b.addExecutable(.{
17 .name = "kernel",
18 .root_module = b.createModule(.{
19 .root_source_file = b.path("./main.zig"),
20 .optimize = optimize,
21 .target = target,
22 }),
23 });
24 kernel.root_module.addObjectFile(b.path("./boot.S"));
25 kernel.setLinkerScript(b.path("./linker.ld"));
26 b.installArtifact(kernel);
27
28 test_step.dependOn(&kernel.step);
29}
test/standalone/compile_asm/linker.ld created+42
...@@ -0,0 +1,42 @@
1ENTRY(_start)
2
3SECTIONS
4{
5 /* Starts at LOADER_ADDR. */
6 . = 0x8000;
7 __start = .;
8 __text_start = .;
9 .text :
10 {
11 KEEP(*(.text.boot))
12 *(.text)
13 }
14 . = ALIGN(4096); /* align to page size */
15 __text_end = .;
16
17 __rodata_start = .;
18 .rodata :
19 {
20 *(.rodata)
21 }
22 . = ALIGN(4096); /* align to page size */
23 __rodata_end = .;
24
25 __data_start = .;
26 .data :
27 {
28 *(.data)
29 }
30 . = ALIGN(4096); /* align to page size */
31 __data_end = .;
32
33 __bss_start = .;
34 .bss :
35 {
36 bss = .;
37 *(.bss)
38 }
39 . = ALIGN(4096); /* align to page size */
40 __bss_end = .;
41 __end = .;
42}
test/standalone/compile_asm/main.zig created+11
...@@ -0,0 +1,11 @@
1export fn main(r0: u32, r1: u32, atags: u32) callconv(.c) noreturn {
2 _ = r0;
3 _ = r1;
4 _ = atags;
5 unreachable; // never gets run so it doesn't matter
6}
7pub fn panic(msg: []const u8, error_return_trace: ?*@import("std").builtin.StackTrace, _: ?usize) noreturn {
8 _ = msg;
9 _ = error_return_trace;
10 while (true) {}
11}
test/standalone/issue_8550/boot.S deleted-33
...@@ -1,33 +0,0 @@
1 .section ".text.boot"
2
3 .global _start
4
5 _start:
6 mrc p15, #0, r1, c0, c0, #5
7 and r1, r1, #3
8 cmp r1, #0
9 bne halt
10
11 mov sp, #0x8000
12
13 ldr r4, =__bss_start
14 ldr r9, =__bss_end
15 mov r5, #0
16 mov r6, #0
17 mov r7, #0
18 mov r8, #0
19 b 2f
20
21 1:
22 stmia r4!, {r5-r8}
23
24 2:
25 cmp r4, r9
26 blo 1b
27
28 ldr r3, =main
29 blx r3
30
31 halt:
32 wfe
33 b halt
test/standalone/issue_8550/build.zig deleted-29
...@@ -1,29 +0,0 @@
1const std = @import("std");
2
3pub fn build(b: *std.Build) !void {
4 const test_step = b.step("test", "Test it");
5 b.default_step = test_step;
6
7 const optimize: std.builtin.OptimizeMode = .Debug;
8 const target = b.resolveTargetQuery(.{
9 .os_tag = .freestanding,
10 .cpu_arch = .arm,
11 .cpu_model = .{
12 .explicit = &std.Target.arm.cpu.arm1176jz_s,
13 },
14 });
15
16 const kernel = b.addExecutable(.{
17 .name = "kernel",
18 .root_module = b.createModule(.{
19 .root_source_file = b.path("./main.zig"),
20 .optimize = optimize,
21 .target = target,
22 }),
23 });
24 kernel.root_module.addObjectFile(b.path("./boot.S"));
25 kernel.setLinkerScript(b.path("./linker.ld"));
26 b.installArtifact(kernel);
27
28 test_step.dependOn(&kernel.step);
29}
test/standalone/issue_8550/linker.ld deleted-42
...@@ -1,42 +0,0 @@
1ENTRY(_start)
2
3SECTIONS
4{
5 /* Starts at LOADER_ADDR. */
6 . = 0x8000;
7 __start = .;
8 __text_start = .;
9 .text :
10 {
11 KEEP(*(.text.boot))
12 *(.text)
13 }
14 . = ALIGN(4096); /* align to page size */
15 __text_end = .;
16
17 __rodata_start = .;
18 .rodata :
19 {
20 *(.rodata)
21 }
22 . = ALIGN(4096); /* align to page size */
23 __rodata_end = .;
24
25 __data_start = .;
26 .data :
27 {
28 *(.data)
29 }
30 . = ALIGN(4096); /* align to page size */
31 __data_end = .;
32
33 __bss_start = .;
34 .bss :
35 {
36 bss = .;
37 *(.bss)
38 }
39 . = ALIGN(4096); /* align to page size */
40 __bss_end = .;
41 __end = .;
42}
test/standalone/issue_8550/main.zig deleted-11
...@@ -1,11 +0,0 @@
1export fn main(r0: u32, r1: u32, atags: u32) callconv(.c) noreturn {
2 _ = r0;
3 _ = r1;
4 _ = atags;
5 unreachable; // never gets run so it doesn't matter
6}
7pub fn panic(msg: []const u8, error_return_trace: ?*@import("std").builtin.StackTrace, _: ?usize) noreturn {
8 _ = msg;
9 _ = error_return_trace;
10 while (true) {}
11}