[coreboot-gerrit] Patch set updated for coreboot: 236a992 x86 I/O APIC: Make functions `io_apic_{read, write}()` public

Paul Menzel (paulepanter@users.sourceforge.net) gerrit at coreboot.org
Sat May 4 20:10:29 CEST 2013


Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3180

-gerrit

commit 236a9928467ed33515a48c85c44186aab4661842
Author: Paul Menzel <paulepanter at users.sourceforge.net>
Date:   Tue Apr 23 14:34:43 2013 +0200

    x86 I/O APIC: Make functions `io_apic_{read,write}()` public
    
    Some LPC initialiation can save some lines of code when being able
    to use the functions `io_apic_read()` and `io_apic_write()`.
    
    As these two functions are now public, remove them from the generic
    driver as otherwise we get a build error.
    
        Building roda/rk9; i386: ok, using i386-elf-gcc
        Using payload /srv/jenkins/payloads/seabios/bios.bin.elf
          Creating config file... (blobs, ccache) ok;  Compiling image on 4 cpus in parallel .. FAILED after 12s!
        Log excerpt:
        coreboot-builds/roda_rk9/arch/x86/lib/ramstage.o: In function `io_apic_write':
        /srv/jenkins/.jenkins/jobs/coreboot-gerrit/workspace/src/arch/x86/lib/ioapic.c:32: multiple definition of `io_apic_write'
        coreboot-builds/roda_rk9/drivers/generic/ioapic/ramstage.o:/srv/jenkins/.jenkins/jobs/coreboot-gerrit/workspace/src/drivers/generic/ioapic/ioapic.c:22: first defined here
        collect2: error: ld returned 1 exit status
        make: *** [coreboot-builds/roda_rk9/generated/coreboot_ram.o] Error 1
        make: *** Waiting for unfinished jobs....
    
    Change-Id: Id600007573ff011576967339cc66e6c883a2ed5a
    Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
 src/arch/x86/include/arch/ioapic.h  |  2 ++
 src/arch/x86/lib/ioapic.c           |  4 ++--
 src/drivers/generic/ioapic/Kconfig  |  3 +++
 src/drivers/generic/ioapic/ioapic.c | 12 ------------
 4 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/arch/x86/include/arch/ioapic.h b/src/arch/x86/include/arch/ioapic.h
index b989e52..7ff47bb 100644
--- a/src/arch/x86/include/arch/ioapic.h
+++ b/src/arch/x86/include/arch/ioapic.h
@@ -39,6 +39,8 @@
 #define SMI		(2 << 8)
 #define INT		(1 << 8)
 
+u32 io_apic_read(u32 ioapic_base, u32 reg);
+void io_apic_write(u32 ioapic_base, u32 reg, u32 value);
 void set_ioapic_id(u32 ioapic_base, u8 ioapic_id);
 void setup_ioapic(u32 ioapic_base, u8 ioapic_id);
 void clear_ioapic(u32 ioapic_base);
diff --git a/src/arch/x86/lib/ioapic.c b/src/arch/x86/lib/ioapic.c
index 389c48c..4964af6 100644
--- a/src/arch/x86/lib/ioapic.c
+++ b/src/arch/x86/lib/ioapic.c
@@ -22,13 +22,13 @@
 #include <console/console.h>
 #include <cpu/x86/lapic.h>
 
-static u32 io_apic_read(u32 ioapic_base, u32 reg)
+u32 io_apic_read(u32 ioapic_base, u32 reg)
 {
 	write32(ioapic_base, reg);
 	return read32(ioapic_base + 0x10);
 }
 
-static void io_apic_write(u32 ioapic_base, u32 reg, u32 value)
+void io_apic_write(u32 ioapic_base, u32 reg, u32 value)
 {
 	write32(ioapic_base, reg);
 	write32(ioapic_base + 0x10, value);
diff --git a/src/drivers/generic/ioapic/Kconfig b/src/drivers/generic/ioapic/Kconfig
index f8b46cb..b78b93b 100644
--- a/src/drivers/generic/ioapic/Kconfig
+++ b/src/drivers/generic/ioapic/Kconfig
@@ -1,2 +1,5 @@
 config DRIVERS_GENERIC_IOAPIC
 	bool
+
+if DRIVERS_GENERIC_IOAPIC
+	IOAPIC = n
diff --git a/src/drivers/generic/ioapic/ioapic.c b/src/drivers/generic/ioapic/ioapic.c
index 9a93c78..42b2f07 100644
--- a/src/drivers/generic/ioapic/ioapic.c
+++ b/src/drivers/generic/ioapic/ioapic.c
@@ -12,18 +12,6 @@
 #include <arch/io.h>
 #include <cpu/x86/lapic.h>
 
-static u32 io_apic_read(u32 ioapic_base, u32 reg)
-{
-	write32(ioapic_base, reg);
-	return read32(ioapic_base + 0x10);
-}
-
-static void io_apic_write(u32 ioapic_base, u32 reg, u32 value)
-{
-	write32(ioapic_base, reg);
-	write32(ioapic_base + 0x10, value);
-}
-
 static void ioapic_init(device_t dev)
 {
 	struct drivers_generic_ioapic_config *config = dev->chip_info;



More information about the coreboot-gerrit mailing list