[OpenBIOS] [commit] r790 - trunk/openbios-devel/drivers
repository service
svn at openbios.org
Thu May 27 22:12:27 CEST 2010
Author: blueswirl
Date: Thu May 27 22:12:26 2010
New Revision: 790
URL: http://tracker.coreboot.org/trac/openbios/changeset/790
Log:
pci: assign relocatable address ranges
Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
Modified:
trunk/openbios-devel/drivers/pci.c
Modified: trunk/openbios-devel/drivers/pci.c
==============================================================================
--- trunk/openbios-devel/drivers/pci.c Thu May 27 22:12:23 2010 (r789)
+++ trunk/openbios-devel/drivers/pci.c Thu May 27 22:12:26 2010 (r790)
@@ -546,24 +546,24 @@
static inline void pci_decode_pci_addr(pci_addr addr, int *flags,
int *space_code, uint32_t *mask)
{
- if (addr & 0x01) {
+ *flags = 0;
+ if (addr & 0x01) {
*space_code = IO_SPACE;
- *flags = 0;
*mask = 0x00000001;
-
- } else if (addr & 0x04) {
-
- *flags = IS_NOT_RELOCATABLE;
- *space_code = MEMORY_SPACE_64;
- *mask = 0x0000000F;
-
} else {
+ if (addr & 0x04) {
+ *space_code = MEMORY_SPACE_64;
+ *flags |= IS_NOT_RELOCATABLE; /* XXX: why not relocatable? */
+ } else {
+ *space_code = MEMORY_SPACE_32;
+ }
+
+ if (addr & 0x08) {
+ *flags |= IS_PREFETCHABLE;
+ }
- *space_code = MEMORY_SPACE_32;
- *flags = IS_NOT_RELOCATABLE;
- *mask = 0x0000000F;
-
+ *mask = 0x0000000F;
}
}
More information about the OpenBIOS
mailing list