Issue created by Sebastian Huber: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5751



`AcpiOsPrintf()` and `AcpiOsVprintf()` use `vprintf()`. The `bsp_start()` of
the amd64 BSP calls `acpi_tables_initialize()`, which prints the header of
every table. The system state is before initialization at that point and no
thread executes. `__getreent()` then reads the `libc_reent` member through a
null pointer.

On x86_64 that read lands in the interrupt vector table of the BIOS, so the
caller gets a random pointer. The ACPI output is lost, and a pointer which is
not canonical stops the boot with a triple fault.

Found while running the test suite of the BSP on Qemu. This description was
created with Claude Code assistance.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5751
You're receiving this email because of your account on gitlab.rtems.org. 
Unsubscribe from this thread: 
https://gitlab.rtems.org/-/sent_notifications/5-3lkgt9xlvoafbkwt4exhvxe5f-1d/unsubscribe
 | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | 
Help: https://gitlab.rtems.org/help


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to