[SeaBIOS] [PATCH v3] DSDT: Fix HPET _CRS Method

Gabriel L. Somlo gsomlo at gmail.com
Thu Nov 8 18:35:17 CET 2012


Updated _CRS method for HPET, bringing it in line with the way it is
presented on recent hardware (e.g. Dell Latitude D630, MacPro5,1, etc);
Allows it to be detected and utilized from Mac OS X; Also tested OK on
Linux (F16 64-bit install DVD) and Windows (Win7 64-bit install DVD).

Signed-off-by: Gabriel Somlo <somlo at cmu.edu>
---

On Thu, Nov 08, 2012 at 04:12:07PM +0100, Gerd Hoffmann wrote:
> Looks good to me now.

One more thing, the "IRQNoFlags" line (also present on the real
hardware I used as examples) makes it possible to start OS X with
multiple virtual CPUs in qemu (e.g. -smp 4,cores=2). Re-ran tests
on Fedora16 and Windows7 successfully (also with smp enabled).

Thanks,
--Gabriel

 src/acpi-dsdt.dsl |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 284d70d..711302e 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -269,15 +269,11 @@ DefinitionBlock (
                     Return (0x0F)
             }
             Name(_CRS, ResourceTemplate() {
-                DWordMemory(
-                    ResourceConsumer, PosDecode, MinFixed, MaxFixed,
-                    NonCacheable, ReadWrite,
-                    0x00000000,
-                    0xFED00000,
-                    0xFED003FF,
-                    0x00000000,
-                    0x00000400 /* 1K memory: FED00000 - FED003FF */
-                )
+                IRQNoFlags () {2, 8}
+                Memory32Fixed (ReadOnly,
+                    0xFED00000,         // Address Base
+                    0x00000400,         // Address Length
+                    )
             })
         }
     }
-- 
1.7.7.6



More information about the SeaBIOS mailing list