On 26/05/2015 13:06, Zhi Yong Wu wrote: > HI, > > Does anyone know why these *.dsl files exist in qemu project? Since > these files are used to define some hardware resource and operation > methods tables, i thought that they should be in the bios related > project, right? > > $ls -l hw/i386/*.dsl > -rw-rw-r-- 1 admin admin 3872 May 26 10:43 hw/i386/acpi-dsdt-cpu-hotplug.dsl > -rw-rw-r-- 1 admin admin 1470 May 26 10:43 hw/i386/acpi-dsdt-dbug.dsl > -rw-rw-r-- 1 admin admin 11284 May 26 10:43 hw/i386/acpi-dsdt.dsl > -rw-rw-r-- 1 admin admin 1673 May 26 10:43 hw/i386/acpi-dsdt-hpet.dsl > -rw-rw-r-- 1 admin admin 3682 May 26 10:43 hw/i386/acpi-dsdt-isa.dsl > -rw-rw-r-- 1 admin admin 3826 May 26 10:43 hw/i386/acpi-dsdt-pci-crs.dsl > -rw-rw-r-- 1 admin admin 16347 May 26 10:43 hw/i386/q35-acpi-dsdt.dsl > -rw-rw-r-- 1 admin admin 2948 May 26 10:43 hw/i386/ssdt-mem.dsl > -rw-rw-r-- 1 admin admin 10677 May 26 10:43 hw/i386/ssdt-misc.dsl > -rw-rw-r-- 1 admin admin 3490 May 26 10:43 hw/i386/ssdt-pcihp.dsl > -rw-rw-r-- 1 admin admin 2351 May 26 10:43 hw/i386/ssdt-proc.dsl
These describe the hardware, which changes as QEMU gets new abilities. So QEMU is exporting the ACPI tables to the firmware. The firmware reads them. This eliminates code duplication: for example OVMF, SeaBIOS, CoreBoot and now qboot all can use the same ACPI tables and only implement a very small loader (~100 lines of code) based on fw_cfg. Paolo