Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6232
-gerrit
commit 5eac77b4f176f85cf1843bd44ab5f1fb88cb526b
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Thu Jul 10 02:49:54 2014 +1000
NOTFORMERGE: test
Change-Id: Icb2eca566a96b723a3162983aac57394e6a866d3
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
src/arch/x86/include/arch/io.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arch/x86/include/arch/io.h b/src/arch/x86/include/arch/io.h
index d5cdf35..4ae9fe2 100644
--- a/src/arch/x86/include/arch/io.h
+++ b/src/arch/x86/include/arch/io.h
@@ -224,7 +224,7 @@ static inline int log2f(int value)
/* FIXME: Sources for romstage still use device_t. */
/* Use pci_devfn_t or pnp_devfn_t instead */
-typedef u32 device_t;
+//typedef u32 device_t;
/* FIXME: We need to make the coreboot to run at 64bit mode, So when read/write memory above 4G,
* We don't need to set %fs, and %gs anymore
Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6225
-gerrit
commit 5cc836448b2a9a2c1436e9def40c3292fd7487ae
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Wed Jul 9 04:55:16 2014 +1000
device/pci_early.c: Mixes up variants of a typedefs to 'u32'
Unfortunately coreboot has to deal with ROMCC's short comings which has
lead to a little bit of confusion due to typedefs. Essentially, coreboot
defines four typedefs:
* 'typedef struct device * device_t' in ramstage not in SIMPLE_DEVICE mode
* 'typedef u32 device_t' in romstage or when SIMPLE_DEVICE is defined
* 'typedef u32 pnp_devfn_t'
* 'typedef u32 pci_devfn_t'
Some early functions make use of 'device_t' over 'pci_devfn_t' and since
the C type-checker does not enforce typedefs to the same type 'u32'
these are never noticed. Fix these so that 'device_t' does not conflict
in romstage for later work. We later plan to have 'pnp_devfn_t' and
'pci_devfn_t' as the only variants of 'u32' and 'device_t' to be a
struct pointer type exclusively.
Change-Id: I948801f5be968a934798f1bad7722649758cd4d3
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
src/device/pci_early.c | 7 +++----
src/include/device/pci.h | 4 ++--
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/device/pci_early.c b/src/device/pci_early.c
index e31287e..e690211 100644
--- a/src/device/pci_early.c
+++ b/src/device/pci_early.c
@@ -25,8 +25,7 @@
#include <delay.h>
#ifdef __PRE_RAM__
-
-unsigned pci_find_next_capability(device_t dev, unsigned cap, unsigned last)
+unsigned pci_find_next_capability(pci_devfn_t dev, unsigned cap, unsigned last)
{
unsigned pos = 0;
u16 status;
@@ -69,11 +68,11 @@ unsigned pci_find_next_capability(device_t dev, unsigned cap, unsigned last)
return 0;
}
-unsigned pci_find_capability(device_t dev, unsigned cap)
+unsigned pci_find_capability(pci_devfn_t dev, unsigned cap)
{
return pci_find_next_capability(dev, cap, 0);
}
-#endif
+#endif /* __PRE_RAM__ */
#if CONFIG_EARLY_PCI_BRIDGE
diff --git a/src/include/device/pci.h b/src/include/device/pci.h
index 8175970..7135ca2 100644
--- a/src/include/device/pci.h
+++ b/src/include/device/pci.h
@@ -102,8 +102,8 @@ static inline const struct pci_operations *ops_pci(device_t dev)
#endif /* ! __SIMPLE_DEVICE__ */
-unsigned pci_find_next_capability(device_t dev, unsigned cap, unsigned last);
-unsigned pci_find_capability(device_t dev, unsigned cap);
+unsigned pci_find_next_capability(pci_devfn_t dev, unsigned cap, unsigned last);
+unsigned pci_find_capability(pci_devfn_t dev, unsigned cap);
void pci_early_bridge_init(void);
int pci_early_device_probe(u8 bus, u8 dev, u32 mmio_base);
Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6232
-gerrit
commit fa48e142c4e91b371ac76b604a9d930b8680e240
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Thu Jul 10 02:49:54 2014 +1000
NOTFORMERGE: test
Change-Id: Icb2eca566a96b723a3162983aac57394e6a866d3
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
src/arch/x86/include/arch/io.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arch/x86/include/arch/io.h b/src/arch/x86/include/arch/io.h
index d5cdf35..4ae9fe2 100644
--- a/src/arch/x86/include/arch/io.h
+++ b/src/arch/x86/include/arch/io.h
@@ -224,7 +224,7 @@ static inline int log2f(int value)
/* FIXME: Sources for romstage still use device_t. */
/* Use pci_devfn_t or pnp_devfn_t instead */
-typedef u32 device_t;
+//typedef u32 device_t;
/* FIXME: We need to make the coreboot to run at 64bit mode, So when read/write memory above 4G,
* We don't need to set %fs, and %gs anymore
Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6230
-gerrit
commit e9f0ee5e5865aaf6a72455c8145aa6dc6720f7c1
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Wed Jul 9 18:41:12 2014 +1000
include/device/device.h: Duplicate '*_pnp_devfn_t' typedefs
'pci_devfn_t' and 'pnp_devfn_t' are already defined in arch/io.h
Change-Id: I006182bf6933fae21fe6671659b76e7031e74b71
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
src/arch/x86/include/arch/io.h | 9 ++++++---
src/include/device/device.h | 2 --
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/arch/x86/include/arch/io.h b/src/arch/x86/include/arch/io.h
index b6d82f9..d5cdf35 100644
--- a/src/arch/x86/include/arch/io.h
+++ b/src/arch/x86/include/arch/io.h
@@ -4,6 +4,11 @@
#include <stdint.h>
#include <rules.h>
+/* FIXME: Sources for romstage still use device_t. */
+/* Use pci_devfn_t or pnp_devfn_t instead */
+typedef u32 pci_devfn_t;
+typedef u32 pnp_devfn_t;
+
/*
* This file contains the definitions for the x86 IO instructions
* inb/inw/inl/outb/outw/outl and the "string versions" of the same
@@ -218,11 +223,9 @@ static inline int log2f(int value)
#define PNP_DEV(PORT, FUNC) (((PORT) << 8) | (FUNC))
/* FIXME: Sources for romstage still use device_t. */
+/* Use pci_devfn_t or pnp_devfn_t instead */
typedef u32 device_t;
-typedef u32 pci_devfn_t;
-typedef u32 pnp_devfn_t;
-
/* FIXME: We need to make the coreboot to run at 64bit mode, So when read/write memory above 4G,
* We don't need to set %fs, and %gs anymore
* Before that We need to use %gs, and leave %fs to other RAM access
diff --git a/src/include/device/device.h b/src/include/device/device.h
index ec17adf..132e4ef 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -18,8 +18,6 @@ struct device;
#ifndef __SIMPLE_DEVICE__
typedef struct device * device_t;
-typedef u32 pci_devfn_t;
-typedef u32 pnp_devfn_t;
struct pci_operations;
struct pci_bus_operations;
struct smbus_bus_operations;