All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Luigi Rizzo <rizzo@iet.unipi.it>
Cc: qemu-devel@nongnu.org, kraxel@redhat.com
Subject: Re: [Qemu-devel] new pc-bios/bios.bin breaks freebsd booting
Date: Wed, 12 Dec 2012 18:47:58 +0100	[thread overview]
Message-ID: <50C8C34E.9080409@redhat.com> (raw)
In-Reply-To: <CA+hQ2+jvR830=1qiXbzJih4RtZTrSWUyGgXiV8k7XHic+QbC4g@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2725 bytes --]

Il 12/12/2012 17:04, Luigi Rizzo ha scritto:
> I am not sure if it has been reported already but this commit
> 
> http://git.qemu.org/?p=qemu.git;a=commitdiff;h=d7a51dbbaa70677846453f8c961590913052dd86
> 
> (replacing pc-bios/bios.bin with a newer version)
> breaks booting of FreeBSD on recent qemu (starting roughly with
> qemu-1.3.0-rc2).
> 
> Using a FreeBSD host, and a FreeBSD guest,
> the qemu thread runs at 100% and the console is stuck
> after the 'pci0' probe:
> 
>                            
> ...
> hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
>        
> Timecounter "HPET" frequency 100000000 Hz quality 950                  
>         
> Timecounter "ACPI-fast" frequency 3579545 Hz quality 900                
>        
> acpi_timer0: <24-bit timer at 3.579545MHz> port 0xb008-0xb00b on acpi0  
>        
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0                
>         
> pci0: <ACPI PCI bus> on pcib0
> 
> Reverting the bios fixes things.
> I wonder if it isn't the case of reverting this change ?

Not reverting the change (which fixes other things), but yes---we should
get the fix into SeaBIOS.

I don't have a FreeBSD VM handy, can you try the attached BIOS so I can
have your Tested-by?  The patch I used is after my signature.

Paolo

diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 8019b71..b58ef62 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -187,7 +187,7 @@ DefinitionBlock (
 
                 prt_slot0(0x0000),
                 /* Device 1 is power mgmt device, and can only use irq 9 */
-                Package() { 0x1ffff, 0,    0, 9 },
+                Package() { 0x1ffff, 0, LNKS, 0 },
                 Package() { 0x1ffff, 1, LNKB, 0 },
                 Package() { 0x1ffff, 2, LNKC, 0 },
                 Package() { 0x1ffff, 3, LNKD, 0 },
@@ -278,6 +278,22 @@ DefinitionBlock (
         define_link(LNKB, 1, PRQ1)
         define_link(LNKC, 2, PRQ2)
         define_link(LNKD, 3, PRQ3)
+
+        Device(LNKS) {
+            Name(_HID, EISAID("PNP0C0F"))
+            Name(_UID, 4)
+            Name(_PRS, ResourceTemplate() {
+                Interrupt(, Level, ActiveHigh, Shared) { 9 }
+            })
+
+            // The SCI cannot be disabled and is always attached to GSI 9,
+            // so these are no-ops.  We only need this link to override the
+            // polarity to active high and match the content of the MADT.
+            Method(_STA, 0, NotSerialized) { Return (0x0b) }
+            Method(_DIS, 0, NotSerialized) { }
+            Method(_CRS, 0, NotSerialized) { Return (_PRS) }
+            Method(_SRS, 1, NotSerialized) { }
+        }
     }
 
 #include "acpi-dsdt-cpu-hotplug.dsl"


[-- Attachment #2: bios.bin --]
[-- Type: application/octet-stream, Size: 131072 bytes --]

  reply	other threads:[~2012-12-12 17:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-12 16:04 [Qemu-devel] new pc-bios/bios.bin breaks freebsd booting Luigi Rizzo
2012-12-12 17:47 ` Paolo Bonzini [this message]
2012-12-12 23:54   ` Luigi Rizzo
2012-12-13 10:25   ` Brad Smith
2012-12-13 10:30     ` Paolo Bonzini
2012-12-14  2:33     ` Brad Smith
2012-12-20  5:57   ` Dietmar Maurer
2012-12-20  7:16     ` Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50C8C34E.9080409@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rizzo@iet.unipi.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.