* [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update @ 2012-12-03 10:11 Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 1/3] seabios: update to 3d11108f45818d75140530a184c05680f1be51ad Gerd Hoffmann ` (3 more replies) 0 siblings, 4 replies; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-03 10:11 UTC (permalink / raw) To: qemu-devel; +Cc: jbaron, Gerd Hoffmann Hi, Most q35 seabios patches just landed upstream. So here we go with a last-minute pull to plumb the missing q35 bits. It obviously updates seabios again. It also adds autoloading for the acpi dsdt table. With this pull "qemu -M q35" JustWorks[tm]. please pull, Gerd The following changes since commit 01bbd8bf2caced5cb07939669f58d3a7bcc78092: Update version for 1.3.0-rc2 (2012-11-30 15:04:16 -0600) are available in the git repository at: git://git.kraxel.org/qemu seabios-3d11108 Gerd Hoffmann (3): seabios: update to 3d11108f45818d75140530a184c05680f1be51ad configure: also symlink *.aml files acpi: autoload dsdt configure | 1 + hw/pc.c | 23 +++++++++++++++++++++++ hw/pc.h | 1 + hw/pc_piix.c | 1 + hw/pc_q35.c | 1 + pc-bios/acpi-dsdt.aml | Bin 4540 -> 4450 bytes pc-bios/bios.bin | Bin 131072 -> 131072 bytes pc-bios/q35-acpi-dsdt.aml | Bin 0 -> 8374 bytes roms/seabios | 2 +- 9 files changed, 28 insertions(+), 1 deletions(-) create mode 100644 pc-bios/q35-acpi-dsdt.aml ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 1/3] seabios: update to 3d11108f45818d75140530a184c05680f1be51ad 2012-12-03 10:11 [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Gerd Hoffmann @ 2012-12-03 10:11 ` Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 2/3] configure: also symlink *.aml files Gerd Hoffmann ` (2 subsequent siblings) 3 siblings, 0 replies; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-03 10:11 UTC (permalink / raw) To: qemu-devel; +Cc: jbaron, Gerd Hoffmann Most q35 patches landed in seabios upstream. Some cleanups and the mcfg table are still missing. So pci mmconfig will not work. Basic functionality is there though. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- pc-bios/acpi-dsdt.aml | Bin 4540 -> 4450 bytes pc-bios/bios.bin | Bin 131072 -> 131072 bytes pc-bios/q35-acpi-dsdt.aml | Bin 0 -> 8374 bytes roms/seabios | 2 +- 4 files changed, 1 insertions(+), 1 deletions(-) create mode 100644 pc-bios/q35-acpi-dsdt.aml diff --git a/pc-bios/acpi-dsdt.aml b/pc-bios/acpi-dsdt.aml index bb3dd83a56f84131f9c9f968cbee9385931cecd3..dbc2114d36c1c57804a9a7e91f855a8445b3aafb 100644 GIT binary patch delta 465 zcmdm^{78w*CD<h-Nsxho@$p2iR4%W|_+Y2_=q9Jijg=GFc?29}^*{mv&YlLFIXUh# zIoRqm!vs8o9pj@L)#CI5A`FcK42_)`7(DbD*nI+A{TLZ67?_<MK@4VRCm_Y)<^m)I zyrn0<;<A@B_jYoL=ZN?4bm4Klz|1Vd86O<t$gqTqpCjHmD0s3zw<L3PlltTWZV5ZE zh#&_Ss}h4iB|~(R7mJ&VvjI#mJA;S>SZ@Ky{DcK;lM@)0Ff3$&8+D3XrarpK&L<!Q zZXXL=56GpMdISZyc-<K*m@Ak$IFuR~K$g0)IQ#n=!YpNF<cJUTbYX;94e}>0V}3CI yh-GHrP!d3xV}#QjU_jwChv^3s&=?M&F#@XaD2Z;8oGi~P%FMv^e{(LcKMMe(b##XS delta 618 zcmaixK}!Nb7>2*u+0|(@T495vi)|4lVVWJf)$We2X42v+1RIW*prc2ngXS+t#Cw6) z4&k*Q(LV_K30?HqPN^Fab$R(<zImT_-g(oXHz{*j^*IKB_WSgTo)5Wea<69(pW1if z@hW+hBwHUGMvk|cTrwFayijCO;{{`FiMv$;Ms!8n<yOT7QY|}t(2vB)NK9TYJ9vz& zb+mYJ8Y5KEL2biq!<O^RO3yvR@Xd4Y>y}x|r(^4M%|`F|9fNG637%j;`Uxau@QuWR z*DEP!PIVDZ25sjvT(e&9)KktyCd(?W(YR?u0ifHs4-FbHf(KcI-}nYn>9UPlxP=MP zyMenAvd+tyc}xWnUMn&bFct`Fh9Ci=^DASDrx=K?1`Ja$4t_AG^atd>cTA<J1f-*r zIYcchDe=9IRrD)6QA96<8>|xb3k9$1WU`h-FX@(dn-wz_r6qhZg;+vzLh?dvAq62t YA*TtI1@2nRv2v%V*+$pn<nodH0qK~T#Q*>R diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin index dc9b57ddc9a39f3d8ea75a8f23e3869c26144795..202ba076ca393f782040ee09ee2158f628fa41ad 100644 GIT binary patch delta 20272 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 Ip^NVS0jfY~q5uE@ delta 19445 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 YYuayB1*<yxS!UkWI9E2b2tBm_525=UFaQ7m diff --git a/pc-bios/q35-acpi-dsdt.aml b/pc-bios/q35-acpi-dsdt.aml new file mode 100644 index 0000000000000000000000000000000000000000..8cdd84791af9956b6cf6389cc6bb07b050d4dcbc GIT binary patch literal 8374 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 literal 0 HcmV?d00001 diff --git a/roms/seabios b/roms/seabios index b1c35f2..3d11108 160000 --- a/roms/seabios +++ b/roms/seabios @@ -1 +1 @@ -Subproject commit b1c35f2b28cc0c94ebed8176ff61ac0e0b377798 +Subproject commit 3d11108f45818d75140530a184c05680f1be51ad -- 1.7.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 2/3] configure: also symlink *.aml files 2012-12-03 10:11 [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 1/3] seabios: update to 3d11108f45818d75140530a184c05680f1be51ad Gerd Hoffmann @ 2012-12-03 10:11 ` Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 3/3] acpi: autoload dsdt Gerd Hoffmann 2012-12-03 18:47 ` [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Jason Baron 3 siblings, 0 replies; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-03 10:11 UTC (permalink / raw) To: qemu-devel; +Cc: jbaron, Gerd Hoffmann Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- configure | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/configure b/configure index 994f731..8483388 100755 --- a/configure +++ b/configure @@ -4190,6 +4190,7 @@ FILES="$FILES pc-bios/spapr-rtas/Makefile" FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile" for bios_file in \ $source_path/pc-bios/*.bin \ + $source_path/pc-bios/*.aml \ $source_path/pc-bios/*.rom \ $source_path/pc-bios/*.dtb \ $source_path/pc-bios/openbios-* \ -- 1.7.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 3/3] acpi: autoload dsdt 2012-12-03 10:11 [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 1/3] seabios: update to 3d11108f45818d75140530a184c05680f1be51ad Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 2/3] configure: also symlink *.aml files Gerd Hoffmann @ 2012-12-03 10:11 ` Gerd Hoffmann 2012-12-03 18:47 ` [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Jason Baron 3 siblings, 0 replies; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-03 10:11 UTC (permalink / raw) To: qemu-devel; +Cc: jbaron, Gerd Hoffmann Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/pc.c | 23 +++++++++++++++++++++++ hw/pc.h | 1 + hw/pc_piix.c | 1 + hw/pc_q35.c | 1 + 4 files changed, 26 insertions(+), 0 deletions(-) diff --git a/hw/pc.c b/hw/pc.c index 2b5bbbf..2547c26 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -877,6 +877,29 @@ void pc_cpus_init(const char *cpu_model) } } +void pc_acpi_init(const char *default_dsdt) +{ + char *filename = NULL, *arg = NULL; + + if (acpi_tables != NULL) { + /* manually set via -acpitable, leave it alone */ + return; + } + + filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, default_dsdt); + if (filename == NULL) { + fprintf(stderr, "WARNING: failed to find %s\n", default_dsdt); + return; + } + + arg = g_strdup_printf("file=%s", filename); + if (acpi_table_add(arg) != 0) { + fprintf(stderr, "WARNING: failed to load %s\n", filename); + } + g_free(arg); + g_free(filename); +} + void *pc_memory_init(MemoryRegion *system_memory, const char *kernel_filename, const char *kernel_cmdline, diff --git a/hw/pc.h b/hw/pc.h index 2237e86..9ecccbb 100644 --- a/hw/pc.h +++ b/hw/pc.h @@ -79,6 +79,7 @@ void pc_register_ferr_irq(qemu_irq irq); void pc_acpi_smi_interrupt(void *opaque, int irq, int level); void pc_cpus_init(const char *cpu_model); +void pc_acpi_init(const char *default_dsdt); void *pc_memory_init(MemoryRegion *system_memory, const char *kernel_filename, const char *kernel_cmdline, diff --git a/hw/pc_piix.c b/hw/pc_piix.c index aa3e7f4..dbf5663 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -87,6 +87,7 @@ static void pc_init1(MemoryRegion *system_memory, void *fw_cfg = NULL; pc_cpus_init(cpu_model); + pc_acpi_init("acpi-dsdt.aml"); if (kvmclock_enabled) { kvmclock_create(); diff --git a/hw/pc_q35.c b/hw/pc_q35.c index 3429a9a..7a8d6fe 100644 --- a/hw/pc_q35.c +++ b/hw/pc_q35.c @@ -87,6 +87,7 @@ static void pc_q35_init(QEMUMachineInitArgs *args) qemu_irq *cmos_s3; pc_cpus_init(cpu_model); + pc_acpi_init("q35-acpi-dsdt.aml"); kvmclock_create(); -- 1.7.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-03 10:11 [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Gerd Hoffmann ` (2 preceding siblings ...) 2012-12-03 10:11 ` [Qemu-devel] [PATCH 3/3] acpi: autoload dsdt Gerd Hoffmann @ 2012-12-03 18:47 ` Jason Baron 2012-12-04 7:40 ` Gerd Hoffmann 3 siblings, 1 reply; 17+ messages in thread From: Jason Baron @ 2012-12-03 18:47 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: qemu-devel On Mon, Dec 03, 2012 at 11:11:55AM +0100, Gerd Hoffmann wrote: > Hi, > > Most q35 seabios patches just landed upstream. So here we go with a > last-minute pull to plumb the missing q35 bits. It obviously updates > seabios again. It also adds autoloading for the acpi dsdt table. > > With this pull "qemu -M q35" JustWorks[tm]. > > please pull, > Gerd > Hi, Feel free to add my Acked-by: Jason Baron <jbaron@redhat.com> to the series. I've just been looking at WindowsXP support and there are a few issues that need to be resolved to make it work with the current q35 code. 1) legacy ide mode I can currently create a ide controller on the command-line using '-device'. However, on the real h/w there is an IDE compatibility mode which essentially advertises an ide controller at the same location that the ahci lives at. In fact, it changes the PCI device id. To deal with the fact that AHCI has 6 ports and thus 6 possible devices, it then adds a second controller for the remaining 2 disks. This shouldn't be too hard to emulate. But I'm wondering what we want the qemu interface to look like? A -machine options such as: '-machine q35,diskmode=ahci,ide,raid'? 2) HPET ACPI error This line: 'IRQNoFlags () {2, 8}' in the HPET acpi table is causing the folloing ACPI message (removing it makes it go away): " A problem has been detected and windows has been shut down to prevent damage to your computer. If this is the first time you've seen this Stop error screen, restart your computer. If this screen appears again, follow these steps: Check To be sure you have adequate disk space. If a driver is identified in The stop message, disable the driver or check with the manufacturer for driver updates. Try changing video adapters. Check with your hardware vendor for any BIOS updates. Disable BIOS memory options such as caching or shadowing. If you need to use safe mode to remove or disable components, restart your computer, press F8 To select Advanced startup opTions, and then select safe mode. Technical information: *** STOP: Ox0000007E (OxFFFFFFFFC0000005,OxFFFFFADF8FCEDA83,OxFFFFFADF90631540,O xFFFFFADF90630F50) *** acpi.sys - Address FFFFFADF8FCEDA83 base at FFFFFADF8FCDA000, DateStamp 42435eae " 3) irq table The irq table commit that makes windows 7 work, upsets Windows XP. If I back out seabios commit: 2114f50148c42e374586359d23b522483ca10e8d I do not get the following error: " A problem has been detected and windows has been shut down To prevent damage to your computer. If this is The first time you've seen this stop error screen, restart your computer. If this screen appears again, follow these steps: The BIOS in this sysTem is not fully ACPI compliant. Please contact your system vendor for an updated BIOS. If you are unable to obtain an updated BIOS or the latest BIOS supplied by your vendor is not ACPI compliant, you can turn off ACPI mode during textmode setup. To do this, press The F7 key when you are prompted To install storage drivers. The system will not notify you that the F7 key was pressed - it will silently disable ACPI and allow you to continue your installation. Technical informaTion: *** STOP: 0x000000A5 (Ox0000000000010006,OxFFFFFADF9C461108,0x0000000000000000,0 x0000000000000000) " Thanks, -Jason ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-03 18:47 ` [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Jason Baron @ 2012-12-04 7:40 ` Gerd Hoffmann 2012-12-04 7:46 ` Jan Kiszka ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-04 7:40 UTC (permalink / raw) To: Jason Baron; +Cc: Jan Kiszka, qemu-devel Hi, > 1) legacy ide mode > > I can currently create a ide controller on the command-line using > '-device'. However, on the real h/w there is an IDE compatibility mode > which essentially advertises an ide controller at the same location that > the ahci lives at. In fact, it changes the PCI device id. To deal with > the fact that AHCI has 6 ports and thus 6 possible devices, it then adds > a second controller for the remaining 2 disks. This shouldn't be too > hard to emulate. But I'm wondering what we want the qemu interface > to look like? A -machine options such as: > '-machine q35,diskmode=ahci,ide,raid'? I'm wondering whenever we want to deal with that at all? "If your guest is too old to handle ahci natively, just stick to piix." is a sensible policy IMHO. > 2) HPET ACPI error > > This line: 'IRQNoFlags () {2, 8}' in the HPET acpi table is causing the > folloing ACPI message (removing it makes it go away): Hmm. That was added to make macos x happy and is also present on real hardware, so I'm wondering what is going on here. > 3) irq table > > The irq table commit that makes windows 7 work, upsets Windows XP. If > I back out seabios commit: 2114f50148c42e374586359d23b522483ca10e8d > I do not get the following error: > > " > A problem has been detected and windows has been shut down To prevent damage > to your computer. > > If this is The first time you've seen this stop error screen, > restart your computer. If this screen appears again, follow > these steps: > > The BIOS in this sysTem is not fully ACPI compliant. Please contact your > system vendor for an updated BIOS. If you are unable to obtain an > updated BIOS or the latest BIOS supplied by your vendor is not ACPI > compliant, you can turn off ACPI mode during textmode setup. To do this, > press The F7 key when you are prompted To install storage drivers. The > system will not notify you that the F7 key was pressed - it will silently > disable ACPI and allow you to continue your installation. > > Technical informaTion: > > *** STOP: 0x000000A5 (Ox0000000000010006,OxFFFFFADF9C461108,0x0000000000000000,0 > x0000000000000000) > " Jan, this is your commit, any idea? cheers, Gerd ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 7:40 ` Gerd Hoffmann @ 2012-12-04 7:46 ` Jan Kiszka 2012-12-04 14:37 ` Jason Baron 2012-12-04 14:42 ` Gabriel L. Somlo 2 siblings, 0 replies; 17+ messages in thread From: Jan Kiszka @ 2012-12-04 7:46 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: Jason Baron, qemu-devel@nongnu.org On 2012-12-04 08:40, Gerd Hoffmann wrote: > Hi, > >> 1) legacy ide mode >> >> I can currently create a ide controller on the command-line using >> '-device'. However, on the real h/w there is an IDE compatibility mode >> which essentially advertises an ide controller at the same location that >> the ahci lives at. In fact, it changes the PCI device id. To deal with >> the fact that AHCI has 6 ports and thus 6 possible devices, it then adds >> a second controller for the remaining 2 disks. This shouldn't be too >> hard to emulate. But I'm wondering what we want the qemu interface >> to look like? A -machine options such as: >> '-machine q35,diskmode=ahci,ide,raid'? > > I'm wondering whenever we want to deal with that at all? > > "If your guest is too old to handle ahci natively, just stick to piix." > is a sensible policy IMHO. > >> 2) HPET ACPI error >> >> This line: 'IRQNoFlags () {2, 8}' in the HPET acpi table is causing the >> folloing ACPI message (removing it makes it go away): > > Hmm. That was added to make macos x happy and is also present on real > hardware, so I'm wondering what is going on here. > >> 3) irq table >> >> The irq table commit that makes windows 7 work, upsets Windows XP. If >> I back out seabios commit: 2114f50148c42e374586359d23b522483ca10e8d >> I do not get the following error: >> >> " >> A problem has been detected and windows has been shut down To prevent damage >> to your computer. >> >> If this is The first time you've seen this stop error screen, >> restart your computer. If this screen appears again, follow >> these steps: >> >> The BIOS in this sysTem is not fully ACPI compliant. Please contact your >> system vendor for an updated BIOS. If you are unable to obtain an >> updated BIOS or the latest BIOS supplied by your vendor is not ACPI >> compliant, you can turn off ACPI mode during textmode setup. To do this, >> press The F7 key when you are prompted To install storage drivers. The >> system will not notify you that the F7 key was pressed - it will silently >> disable ACPI and allow you to continue your installation. >> >> Technical informaTion: >> >> *** STOP: 0x000000A5 (Ox0000000000010006,OxFFFFFADF9C461108,0x0000000000000000,0 >> x0000000000000000) >> " > > Jan, this is your commit, any idea? Not really. This is looong ago. I hacked it in to make Win7 happy, but I may not have tested WinXP by that time. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 7:40 ` Gerd Hoffmann 2012-12-04 7:46 ` Jan Kiszka @ 2012-12-04 14:37 ` Jason Baron 2012-12-04 15:37 ` Gerd Hoffmann 2012-12-04 14:42 ` Gabriel L. Somlo 2 siblings, 1 reply; 17+ messages in thread From: Jason Baron @ 2012-12-04 14:37 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: Jan Kiszka, somlo, qemu-devel, anthony On Tue, Dec 04, 2012 at 08:40:27AM +0100, Gerd Hoffmann wrote: > Hi, > > > 1) legacy ide mode > > > > I can currently create a ide controller on the command-line using > > '-device'. However, on the real h/w there is an IDE compatibility mode > > which essentially advertises an ide controller at the same location that > > the ahci lives at. In fact, it changes the PCI device id. To deal with > > the fact that AHCI has 6 ports and thus 6 possible devices, it then adds > > a second controller for the remaining 2 disks. This shouldn't be too > > hard to emulate. But I'm wondering what we want the qemu interface > > to look like? A -machine options such as: > > '-machine q35,diskmode=ahci,ide,raid'? > > I'm wondering whenever we want to deal with that at all? > > "If your guest is too old to handle ahci natively, just stick to piix." > is a sensible policy IMHO. > There was some discussion of trying to make q35 the default for 1.4, in which case it may be important to support older OS's such as WinXP. Anthony, do you have any opinion on this? > > 2) HPET ACPI error > > > > This line: 'IRQNoFlags () {2, 8}' in the HPET acpi table is causing the > > folloing ACPI message (removing it makes it go away): > > Hmm. That was added to make macos x happy and is also present on real > hardware, so I'm wondering what is going on here. > I also noticed that on Windows 7, the 'IRQNoFlags' line above makes the RTC clock complain that it does not have resources available. While removing the above line, removes that error. thanks, -Jason ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 14:37 ` Jason Baron @ 2012-12-04 15:37 ` Gerd Hoffmann 2012-12-04 15:57 ` Gerd Hoffmann 0 siblings, 1 reply; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-04 15:37 UTC (permalink / raw) To: Jason Baron; +Cc: Jan Kiszka, somlo, qemu-devel, anthony Hi, >>> '-machine q35,diskmode=ahci,ide,raid'? >> >> I'm wondering whenever we want to deal with that at all? >> >> "If your guest is too old to handle ahci natively, just stick to piix." >> is a sensible policy IMHO. >> > > There was some discussion of trying to make q35 the default for 1.4, in > which case it may be important to support older OS's such as WinXP. > > Anthony, do you have any opinion on this? The fundamental issue is that you have either good compatibility (makes old guests happy) or good performance (makes modern guests happy) by default. Picking a default which makes everybody happy is impossible. That problem doesn't change no matter whenever the choice is piix vs. q35 or q35+ide vs. q35+ahci. management apps (using libosinfo) can tackle this in a sensible manner by picking virtual hardware depending on the guest capabilities. So I wouldn't worry too much on qemu level. >>> 2) HPET ACPI error >>> >>> This line: 'IRQNoFlags () {2, 8}' in the HPET acpi table is causing the >>> folloing ACPI message (removing it makes it go away): >> >> Hmm. That was added to make macos x happy and is also present on real >> hardware, so I'm wondering what is going on here. >> > > I also noticed that on Windows 7, the 'IRQNoFlags' line above makes the RTC > clock complain that it does not have resources available. While removing the > above line, removes that error. Hmm. The IRQNoFlags for the RTC isn't new though, but I can see that with win7 on piix too. cheers, Gerd ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 15:37 ` Gerd Hoffmann @ 2012-12-04 15:57 ` Gerd Hoffmann 0 siblings, 0 replies; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-04 15:57 UTC (permalink / raw) To: Jason Baron; +Cc: Jan Kiszka, somlo, qemu-devel, anthony On 12/04/12 16:37, Gerd Hoffmann wrote: >> > I also noticed that on Windows 7, the 'IRQNoFlags' line above makes the RTC >> > clock complain that it does not have resources available. While removing the >> > above line, removes that error. > Hmm. The IRQNoFlags for the RTC isn't new though, but I can see that > with win7 on piix too. Works fine with 1.7.1 though. /me goes bisecting. cheers, Gerd ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 7:40 ` Gerd Hoffmann 2012-12-04 7:46 ` Jan Kiszka 2012-12-04 14:37 ` Jason Baron @ 2012-12-04 14:42 ` Gabriel L. Somlo 2012-12-04 15:11 ` jbaron 2 siblings, 1 reply; 17+ messages in thread From: Gabriel L. Somlo @ 2012-12-04 14:42 UTC (permalink / raw) To: qemu-devel; +Cc: rene, jan.kiszka, jbaron, agraf, kraxel, anthony On Tue, 04 Dec 2012 08:40:27 +0100 Gerd Hoffmann wrote: >On Mon, 3 Dec 2012 13:47:04 -0500, Jason Baron wrote: >> 2) HPET ACPI error >> >> This line: 'IRQNoFlags () {2, 8}' in the HPET acpi table is causing the >> folloing ACPI message (removing it makes it go away): > > Hmm. That was added to make macos x happy and is also present on real > hardware, so I'm wondering what is going on here. Without that line, OS X only works as a single-core, non-SMP guest. This is the "legacy replacement irq mapping" option for HPET (section 2.4.2, page 24 of the IA-PC HPET Specification). The options are 'IRQNoFlags () {2, 8}' for "APIC mapping" or 'IRQNoFlags () {0, 8}' for "8259 mapping". Either one works for SMP + OS X. I don't have an XP install image anymore, but does replacing 2,8 with 0,8 help ? On a few of my machines, this is actually coded as IRQNoFlags () {0} /* or 2 */ IRQNoFlags () {8} Based on my reading of the ACPI manual, this should be syntactically equivalent to the the comma-separated single-line format we're currently using, but could it be that WinXP is picky about the specifics ? Also, as far as I can tell, this change never made it into the "q35-acpi-dsdt.dsl" file, just the "classic" acpi-dsdt.dsl (or, lately, acpi-dsdt-hpet.dsl). I was about to submit another patch for that, but now I guess I won't press it until we sort this out :) --Gabriel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 14:42 ` Gabriel L. Somlo @ 2012-12-04 15:11 ` jbaron 2012-12-04 15:39 ` Gabriel L. Somlo 0 siblings, 1 reply; 17+ messages in thread From: jbaron @ 2012-12-04 15:11 UTC (permalink / raw) To: Gabriel L. Somlo; +Cc: rene, jan.kiszka, agraf, qemu-devel, kraxel, anthony On Tue, Dec 04, 2012 at 09:42:44AM -0500, Gabriel L. Somlo wrote: > On Tue, 04 Dec 2012 08:40:27 +0100 Gerd Hoffmann wrote: > >On Mon, 3 Dec 2012 13:47:04 -0500, Jason Baron wrote: > >> 2) HPET ACPI error > >> > >> This line: 'IRQNoFlags () {2, 8}' in the HPET acpi table is causing the > >> folloing ACPI message (removing it makes it go away): > > > > Hmm. That was added to make macos x happy and is also present on real > > hardware, so I'm wondering what is going on here. > > Without that line, OS X only works as a single-core, non-SMP guest. > This is the "legacy replacement irq mapping" option for HPET (section > 2.4.2, page 24 of the IA-PC HPET Specification). > > The options are 'IRQNoFlags () {2, 8}' for "APIC mapping" or > 'IRQNoFlags () {0, 8}' for "8259 mapping". Either one works for SMP + OS X. > > I don't have an XP install image anymore, but does replacing 2,8 with > 0,8 help ? > no. > On a few of my machines, this is actually coded as > > IRQNoFlags () > {0} /* or 2 */ > IRQNoFlags () > {8} > > Based on my reading of the ACPI manual, this should be syntactically > equivalent to the the comma-separated single-line format we're currently > using, but could it be that WinXP is picky about the specifics ? > Didn't seem to help either. I also tried having just a single irq from 0,2,8, and that didn't work either. The only thing that seems to make XP happy is completely removing that line. So I'm not sure what is wrong. > Also, as far as I can tell, this change never made it into the > "q35-acpi-dsdt.dsl" file, just the "classic" acpi-dsdt.dsl (or, lately, > acpi-dsdt-hpet.dsl). I was about to submit another patch for that, but > now I guess I won't press it until we sort this out :) > q35-acpi-dsdt.dsl is the current sebios tree does: #include "acpi-dsdt-hpet.dsl" Thanks, -Jason ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 15:11 ` jbaron @ 2012-12-04 15:39 ` Gabriel L. Somlo 2012-12-04 16:56 ` Gerd Hoffmann 0 siblings, 1 reply; 17+ messages in thread From: Gabriel L. Somlo @ 2012-12-04 15:39 UTC (permalink / raw) To: jbaron; +Cc: rene, jan.kiszka, agraf, qemu-devel, kraxel, anthony On Tue, Dec 04, 2012 at 10:11:38AM -0500, jbaron@redhat.com wrote: > > I don't have an XP install image anymore, but does replacing 2,8 with > > 0,8 help ? > > > > no. > > > On a few of my machines, this is actually coded as > > > > IRQNoFlags () > > {0} /* or 2 */ > > IRQNoFlags () > > {8} > > > > Based on my reading of the ACPI manual, this should be syntactically > > equivalent to the the comma-separated single-line format we're currently > > using, but could it be that WinXP is picky about the specifics ? > > > > Didn't seem to help either. I also tried having just a single irq from > 0,2,8, and that didn't work either. The only thing that seems to make XP > happy is completely removing that line. So I'm not sure what is wrong. I got one more thing to try: diff --git a/src/acpi-dsdt-hpet.dsl b/src/acpi-dsdt-hpet.dsl index d5aa3f1..8385ce4 100644 --- a/src/acpi-dsdt-hpet.dsl +++ b/src/acpi-dsdt-hpet.dsl @@ -23,12 +23,17 @@ Scope(\_SB) { } Return (0x0F) } - Name(_CRS, ResourceTemplate() { + Name(BUF0, ResourceTemplate() { IRQNoFlags() {2, 8} Memory32Fixed(ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length - ) + _Y09) }) + Method(_CRS, 0, Serialized) { + CreateDWordField (BUF0, \_SB.HPET._Y09._BAS, HPT0) + Store(0xFED00000, HPT0) + Return (BUF0) + } } } The complete definition for the HPET on my MacPro5,1 is below; along with the 0xFED00000 value gleaned from the previous SeaBIOS version of _CRS, I came up with the above. Hopefully it works for WinXP too... Thanks, --Gabriel Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (BUF0, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00100000, // Address Length _Y09) }) Method (_STA, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D1)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (0x00) } Method (_CRS, 0, Serialized) { If (HPAE) { CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y09._BAS, HPT0) If (LEqual (HPAS, 0x01)) { Store (0xFED10000, HPT0) } If (LEqual (HPAS, 0x02)) { Store (0xFED20000, HPT0) } If (LEqual (HPAS, 0x03)) { Store (0xFED30000, HPT0) } } Return (BUF0) } } ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 15:39 ` Gabriel L. Somlo @ 2012-12-04 16:56 ` Gerd Hoffmann 2012-12-04 17:14 ` Gabriel L. Somlo 0 siblings, 1 reply; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-04 16:56 UTC (permalink / raw) To: Gabriel L. Somlo; +Cc: rene, jan.kiszka, jbaron, qemu-devel, agraf, anthony Hi, > The complete definition for the HPET on my MacPro5,1 is below; along > with the 0xFED00000 value gleaned from the previous SeaBIOS version of > _CRS, I came up with the above. Hopefully it works for WinXP too... > Device (HPET) { > Name (_HID, EisaId ("PNP0103")) > Name (BUF0, ResourceTemplate () { > IRQNoFlags () > {0} > IRQNoFlags () > {8} > Memory32Fixed (ReadOnly, > 0xFED00000, // Address Base > 0x00100000, // Address Length > _Y09) > }) > Method (_STA, 0, NotSerialized) { > If (LGreaterEqual (OSYS, 0x07D1)) { > If (HPAE) { > Return (0x0F) > } > } Else { > If (HPAE) { > Return (0x0B) > } > } > Return (0x00) > } > Method (_CRS, 0, Serialized) { > If (HPAE) { > CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y09._BAS, HPT0) > If (LEqual (HPAS, 0x01)) { > Store (0xFED10000, HPT0) > } > If (LEqual (HPAS, 0x02)) { > Store (0xFED20000, HPT0) > } > If (LEqual (HPAS, 0x03)) { > Store (0xFED30000, HPT0) > } > } > Return (BUF0) > } > } Ok, and how does the RTC look like on your MacPro? thanks, Gerd ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 16:56 ` Gerd Hoffmann @ 2012-12-04 17:14 ` Gabriel L. Somlo 2012-12-05 6:50 ` Gerd Hoffmann 0 siblings, 1 reply; 17+ messages in thread From: Gabriel L. Somlo @ 2012-12-04 17:14 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: rene, jan.kiszka, jbaron, qemu-devel, agraf, anthony On Tue, Dec 04, 2012 at 05:56:55PM +0100, Gerd Hoffmann wrote: > Ok, and how does the RTC look like on your MacPro? Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) } ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-04 17:14 ` Gabriel L. Somlo @ 2012-12-05 6:50 ` Gerd Hoffmann 2012-12-05 14:49 ` Gabriel L. Somlo 0 siblings, 1 reply; 17+ messages in thread From: Gerd Hoffmann @ 2012-12-05 6:50 UTC (permalink / raw) To: Gabriel L. Somlo; +Cc: rene, jan.kiszka, jbaron, qemu-devel, agraf, anthony On 12/04/12 18:14, Gabriel L. Somlo wrote: > On Tue, Dec 04, 2012 at 05:56:55PM +0100, Gerd Hoffmann wrote: >> Ok, and how does the RTC look like on your MacPro? > > Device (RTC) > { > Name (_HID, EisaId ("PNP0B00")) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, > 0x0070, // Range Minimum > 0x0070, // Range Maximum > 0x01, // Alignment > 0x08, // Length > ) > }) > } Ok, so no IRQ declared for the RTC. We have IRQ 8 for both rtc and hpet, which most likely is the root cause for the issue. You can try simply dropping the line for testing. I'll try to come up with something more clever as the hpet can be disabled in which case we should keep irq8 assigned to rtc. cheers, Gerd ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update 2012-12-05 6:50 ` Gerd Hoffmann @ 2012-12-05 14:49 ` Gabriel L. Somlo 0 siblings, 0 replies; 17+ messages in thread From: Gabriel L. Somlo @ 2012-12-05 14:49 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: rene, jan.kiszka, jbaron, qemu-devel, agraf, anthony On Wed, Dec 05, 2012 at 07:50:17AM +0100, Gerd Hoffmann wrote: > Ok, so no IRQ declared for the RTC. We have IRQ 8 for both rtc and > hpet, which most likely is the root cause for the issue. You can try > simply dropping the line for testing. I'll try to come up with > something more clever as the hpet can be disabled in which case we > should keep irq8 assigned to rtc. Yeah, with SnowLeopard, simply leaving out the IRQ on RTC in SeaBIOS got me all the way to a blue screen with a moving mouse pointer, but no further :) However, the acpi-dsdt-isa.dsl RTC patch you just sent to SeaBIOS has no (negative) impact on my ability to boot SnowLeopard. Thanks much, --Gabriel ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2012-12-05 14:49 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-12-03 10:11 [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 1/3] seabios: update to 3d11108f45818d75140530a184c05680f1be51ad Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 2/3] configure: also symlink *.aml files Gerd Hoffmann 2012-12-03 10:11 ` [Qemu-devel] [PATCH 3/3] acpi: autoload dsdt Gerd Hoffmann 2012-12-03 18:47 ` [Qemu-devel] [PULL for-1.3 0/3] seabios: q35 update Jason Baron 2012-12-04 7:40 ` Gerd Hoffmann 2012-12-04 7:46 ` Jan Kiszka 2012-12-04 14:37 ` Jason Baron 2012-12-04 15:37 ` Gerd Hoffmann 2012-12-04 15:57 ` Gerd Hoffmann 2012-12-04 14:42 ` Gabriel L. Somlo 2012-12-04 15:11 ` jbaron 2012-12-04 15:39 ` Gabriel L. Somlo 2012-12-04 16:56 ` Gerd Hoffmann 2012-12-04 17:14 ` Gabriel L. Somlo 2012-12-05 6:50 ` Gerd Hoffmann 2012-12-05 14:49 ` Gabriel L. Somlo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).