From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxCnN-00063J-5S for qemu-devel@nongnu.org; Tue, 26 May 2015 07:13:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxCnK-0003Nh-LN for qemu-devel@nongnu.org; Tue, 26 May 2015 07:13:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36341) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxCnK-0003NH-Am for qemu-devel@nongnu.org; Tue, 26 May 2015 07:13:14 -0400 Message-ID: <55645545.7080101@redhat.com> Date: Tue, 26 May 2015 13:13:09 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Why *.dsl files exist in qemu project? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Zhi Yong Wu , QEMU Developers 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