make: Nothing to be done for 'build'.
QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='gdb-multiarch' sh tools/check-fat.sh
PASS: FAT16 geometry, root filtering, offset reads and non-contiguous 2->9->4 chain verified
PASS: FAT demo reaches original blocking keyboard consumer
PASS: loop FAT corruption rejected
PASS: short FAT corruption rejected
PASS: badbpb FAT corruption rejected
PASS: mirror FAT corruption rejected
PASS: rootbound FAT corruption rejected
PASS: dirhi FAT corruption rejected
PASS: emptycluster FAT corruption rejected
PASS: badcluster FAT corruption rejected
PASS: reserved FAT corruption rejected
PASS: outofrange FAT corruption rejected
PASS: oversize FAT corruption rejected
QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='gdb-multiarch' IMAGE_SECTORS='16384' PAYLOAD_MAX_BYTES='131072' sh tools/check-block.sh
PASS: IDENTIFY, MBR, two patterned sectors and range rejection verified
PASS: block demo reaches original blocking keyboard consumer
PASS: timeout failure is diagnosed and channel fails closed
PASS: nodrq failure is diagnosed and channel fails closed
PASS: error failure is diagnosed and channel fails closed
QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='gdb-multiarch' PAYLOAD_MAX_BYTES='131072' sh tools/check-process.sh
The target architecture is set to "i386".
0x0000fff0 in ?? ()
Hardware assisted breakpoint 1 at 0x10739d: file kernel/task.c, line 1004.

Breakpoint 1, process_bootstrap_observed () at kernel/task.c:1004
1004	{ __asm__ volatile("nop" ::: "memory"); }
PASS: parent blocked inside top-level wait while BADPTR remained zombie and COUNT runnable
Hardware assisted breakpoint 2 at 0x1074db: file kernel/task.c, line 1007.

Breakpoint 2, process_demo_done () at kernel/task.c:1007
1007	{ __asm__ volatile("nop" ::: "memory"); }
PASS: two rounds, bad status retries, PID reuse protection, orphan adoption and complete recovery verified
Hardware assisted breakpoint 3 at 0x10182e: file kernel/keyboard.c, line 114.

Breakpoint 3, keyboard_ready () at kernel/keyboard.c:114
114	void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); }
PASS: process demo reaches original blocking keyboard consumer
The target architecture is set to "i386".
0x0000fff0 in ?? ()
Hardware assisted breakpoint 1 at 0x1074db: file kernel/task.c, line 1007.

Breakpoint 1, process_demo_done () at kernel/task.c:1007
1007	{ __asm__ volatile("nop" ::: "memory"); }
PASS: seven ELF allocation failures plus kernel-stack failure rolled back, then normal spawn recovered
QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' sh tools/check-syscall.sh
The target architecture is set to "i386".
0x0000fff0 in ?? ()
Hardware assisted breakpoint 1 at 0x108146: file kernel/syscall.c, line 144.

Breakpoint 1, syscall_dispatch (frame=0x138fb4) at kernel/syscall.c:144
144	    KASSERT((frame->cs & 3) == 3 && frame->vector == 128 && frame->error == 0);
PASS: CPL3 int80 used DPL3 interrupt gate; 76-byte frame, post-INT EIP, GPR and saved IF/DF/CF verified
Hardware assisted breakpoint 2 at 0x1067a8: file kernel/task.c, line 717.

Breakpoint 2, syscall_demo_done () at kernel/task.c:717
717	{ __asm__ volatile("" ::: "memory"); }
PASS: write/yield, copy-to-user and all return paths verified; bad DPL gate isolated; survivor and page recovery verified
Hardware assisted breakpoint 3 at 0x10182e: file kernel/keyboard.c, line 114.

Breakpoint 3, keyboard_ready () at kernel/keyboard.c:114
114	void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); }
PASS: syscall demo reaches original blocking keyboard consumer
QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='gdb-multiarch' sh tools/check-elf.sh
The target architecture is set to "i386".
0x0000fff0 in ?? ()
Hardware assisted breakpoint 1 at 0x40000080

Breakpoint 1, 0x40000080 in ?? ()
PASS: dynamic ELF entry reached CPL3 with private CR3, RO code and RW data
Hardware assisted breakpoint 2 at 0x40000091

Breakpoint 2, 0x40000091 in ?? ()
PASS: C entry stack alignment, clear DF, initialized data and 5000-byte BSS verified
Hardware assisted breakpoint 3 at 0x106ee1: file kernel/task.c, line 886.

Breakpoint 3, elf_demo_done () at kernel/task.c:886
886	{ __asm__ volatile("nop" ::: "memory"); }
PASS: 34 malformed ELF cases, all allocation failures and task-stack rollback recovered
Hardware assisted breakpoint 4 at 0x10182e: file kernel/keyboard.c, line 114.

Breakpoint 4, keyboard_ready () at kernel/keyboard.c:114
114	void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); }
PASS: ELF demo reaches original blocking keyboard consumer
QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' KERNEL_MEMORY_MAX_BYTES='262144' sh tools/check-memory.sh
The target architecture is set to "i386".
0x0000fff0 in ?? ()
Hardware assisted breakpoint 1 at 0x10230a: file kernel/memory.c, line 114.

Breakpoint 1, memory_demo_done () at kernel/memory.c:114
114	void memory_demo_done(void) { __asm__ volatile("" : : : "memory"); }
PASS: guest allocation, exhaustion, patterns, invalid free, recovered bitmaps; pages=16070 end=0x119c70
Hardware assisted breakpoint 2 at 0x10182e: file kernel/keyboard.c, line 114.

Breakpoint 2, keyboard_ready () at kernel/keyboard.c:114
114	void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); }
PASS: memory demo returns to keyboard_ready
[Inferior 1 (process 1) detached]
i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 --defsym=__kernel_forced_end=0x140000 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o -o build/kernel-memory-cap.elf
i686-elf-objcopy -O binary build/kernel-memory-cap.elf build/kernel-memory-cap.bin
sh tools/kernel-header.sh build/kernel-memory-cap 131072 262144 0x334f5342 1
cp build/mbr.img build/mbr-memory-cap.img
dd if=build/kernel-memory-cap-header.bin of=build/mbr-memory-cap.img bs=512 seek=9 conv=notrunc status=none
dd if=build/kernel-memory-cap.bin of=build/mbr-memory-cap.img bs=512 seek=10 conv=notrunc status=none
cp build/kernel.bin build/kernel-file-cap.bin
truncate -s 131072 build/kernel-file-cap.bin
test "$(wc -c < build/kernel-file-cap.bin)" -eq 131072
build/mkpayload build/kernel-file-cap.bin build/kernel-file-cap-header.bin build/kernel-file-cap-badmagic.bin \
	build/kernel-file-cap-oversized.bin build/kernel-file-cap-memory-oversized.bin \
	131072 131072 262144 \
	0x334f5342 131072 0
cp build/mbr.img build/mbr-file-cap.img
dd if=build/kernel-file-cap-header.bin of=build/mbr-file-cap.img bs=512 seek=9 conv=notrunc status=none
dd if=build/kernel-file-cap.bin of=build/mbr-file-cap.img bs=512 seek=10 conv=notrunc status=none
QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' PAYLOAD_MAX_BYTES='131072' KERNEL_MEMORY_MAX_BYTES='262144' sh tools/check-runtime-limit.sh
The target architecture is set to "i386".
0x0000fff0 in ?? ()
Hardware assisted breakpoint 1 at 0x100000

Breakpoint 1, 0x00100000 in _start ()
PASS: stage2 dirtied BSS beyond old 64 KiB runtime limit
Hardware assisted breakpoint 2 at 0x10005b: file kernel/main.c, line 32.

Breakpoint 2, kernel_main (info=0x5000) at kernel/main.c:32
32	    console_init(); /* entry cleared BSS/set stack; UART and VGA precede diagnostics. */
PASS: entry cleared full BSS and exact 256 KiB runtime image entered C
Hardware assisted breakpoint 3 at 0x106ee1: file kernel/task.c, line 886.

Breakpoint 3, elf_demo_done () at kernel/task.c:886
886	{ __asm__ volatile("nop" ::: "memory"); }
PASS: exact-cap image completed allocator, user, syscall and ELF regressions
The target architecture is set to "i386".
0x0000fff0 in ?? ()
Hardware assisted breakpoint 1 at 0x100000

Breakpoint 1, 0x00100000 in _start ()
PASS: exact 128 KiB file crossed real-mode segments, checksum and protected-mode copy
PASS: oversized file and memory headers rejected before payload copy
