Author: stepan Date: 2006-06-10 03:31:30 +0200 (Sat, 10 Jun 2006) New Revision: 57
Modified: openbios-devel/arch/sparc32/console.c openbios-devel/arch/sparc32/entry.S openbios-devel/arch/sparc32/openbios.c openbios-devel/arch/sparc32/tree.fs openbios-devel/config/examples/cross-sparc32_rules.xml openbios-devel/config/examples/sparc32_rules.xml openbios-devel/include/openbios/drivers.h Log: non-sparc64 part of -25
Modified: openbios-devel/arch/sparc32/console.c =================================================================== --- openbios-devel/arch/sparc32/console.c 2006-06-10 01:27:11 UTC (rev 56) +++ openbios-devel/arch/sparc32/console.c 2006-06-10 01:31:30 UTC (rev 57) @@ -41,9 +41,12 @@ #define BRENAB 1 /* Baud rate generator enable */ #define BRSRC 2 /* Baud rate generator source */
+/* Read Register 0 */ +#define Rx_CH_AV 0x1 /* Rx Character Available */ + static int uart_charav(int port) { - return ((inb(CTRL(port)) & 1) != 0); + return ((inb(CTRL(port)) & Rx_CH_AV) != 0); }
static char uart_getchar(int port)
Modified: openbios-devel/arch/sparc32/entry.S =================================================================== --- openbios-devel/arch/sparc32/entry.S 2006-06-10 01:27:11 UTC (rev 56) +++ openbios-devel/arch/sparc32/entry.S 2006-06-10 01:31:30 UTC (rev 57) @@ -30,11 +30,6 @@ /* Switch to our main context. * Main context is statically defined in C. */ - /* - call __switch_context_nosave - nop - */ - /* XXX no switching yet */
! Check if this not the first SMP CPU, if so, bypass PROM entirely set PHYS_JJ_EEPROM + 0x2E, %g1
Modified: openbios-devel/arch/sparc32/openbios.c =================================================================== --- openbios-devel/arch/sparc32/openbios.c 2006-06-10 01:27:11 UTC (rev 56) +++ openbios-devel/arch/sparc32/openbios.c 2006-06-10 01:31:30 UTC (rev 57) @@ -21,8 +21,8 @@ void tcx_init(unsigned long base);
#define IOMMU_BASE 0x10000000 /* First page of sun4m IOMMU */ +#define SBUS_BASE 0x10001000 #define SLAVIO_BASE 0x71000000 -#define MACIO_BASE 0x70000000 #define TCX_BASE 0x50000000
static unsigned char intdict[256 * 1024]; @@ -49,15 +49,12 @@ modules_init(); #ifdef CONFIG_DRIVER_SBUS ob_init_mmu(IOMMU_BASE); - ob_sbus_init(); + ob_sbus_init(SBUS_BASE);
#ifdef CONFIG_DEBUG_CONSOLE_VIDEO init_video(); #endif #endif -#ifdef CONFIG_DRIVER_ESP - ob_esp_init(MACIO_BASE); -#endif #ifdef CONFIG_DRIVER_OBIO ob_obio_init(SLAVIO_BASE); nvram_init();
Modified: openbios-devel/arch/sparc32/tree.fs =================================================================== --- openbios-devel/arch/sparc32/tree.fs 2006-06-10 01:27:11 UTC (rev 56) +++ openbios-devel/arch/sparc32/tree.fs 2006-06-10 01:31:30 UTC (rev 57) @@ -58,14 +58,12 @@ h# 01443fd0 encode-int " clock-frequency" property h# 1c encode-int " slot-address-bits" property h# 3f encode-int " burst-sizes" property - h# ffee7000 encode-int " address" property h# 0 encode-int h# 0 encode-int encode+ h# 0 encode-int encode+ h# 30000000 encode-int encode+ h# 10000000 encode-int encode+ h# 1 encode-int encode+ h# 0 encode-int encode+ h# 0 encode-int encode+ h# 40000000 encode-int encode+ h# 10000000 encode-int encode+ h# 2 encode-int encode+ h# 0 encode-int encode+ h# 0 encode-int encode+ h# 50000000 encode-int encode+ h# 10000000 encode-int encode+ h# 3 encode-int encode+ h# 0 encode-int encode+ h# 0 encode-int encode+ h# 60000000 encode-int encode+ h# 10000000 encode-int encode+ h# 4 encode-int encode+ h# 0 encode-int encode+ h# 0 encode-int encode+ h# 70000000 encode-int encode+ h# 10000000 encode-int encode+ " ranges" property - h# 0 encode-int h# 10001000 encode-int encode+ h# 00000028 encode-int encode+ " reg" property external : open ( cr ." opening SBus" cr) true ; : close ;
Modified: openbios-devel/config/examples/cross-sparc32_rules.xml =================================================================== --- openbios-devel/config/examples/cross-sparc32_rules.xml 2006-06-10 01:27:11 UTC (rev 56) +++ openbios-devel/config/examples/cross-sparc32_rules.xml 2006-06-10 01:31:30 UTC (rev 57) @@ -13,17 +13,19 @@ HOSTCFLAGS := -O2 -g -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS) HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include
-CC := sparc-linux-gcc -Wa,-xarch=v8 -Wa,-32 -m32 -mcpu=supersparc -AS := sparc-linux-as -Wa,-xarch=v8 -Wa,-32 -g +CC := sparc-linux-gcc +AS := sparc-linux-as AR := sparc-linux-ar LD := sparc-linux-ld NM := sparc-linux-nm STRIP := sparc-linux-strip RANLIB := sparc-linux-ranlib CFLAGS := -Os -Wall -W -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH -USWAP_ENDIANNESS -fno-builtin -g +CFLAGS+= -Wa,-xarch=v8 -Wa,-32 -m32 -mcpu=supersparc CFLAGS+= -Wredundant-decls -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations CFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing INCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include +AS_FLAGS := -Wa,-xarch=v8 -Wa,-32 -g
# # pre rules
Modified: openbios-devel/config/examples/sparc32_rules.xml =================================================================== --- openbios-devel/config/examples/sparc32_rules.xml 2006-06-10 01:27:11 UTC (rev 56) +++ openbios-devel/config/examples/sparc32_rules.xml 2006-06-10 01:31:30 UTC (rev 57) @@ -13,8 +13,8 @@ HOSTCFLAGS := -O2 -g -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS) HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include
-CC := gcc -Wa,-xarch=v8 -Wa,-32 -m32 -mcpu=supersparc -AS := as -Wa,-xarch=v8 -Wa,-32 -g +CC := gcc +AS := as AR := ar LD := ld NM := nm @@ -27,9 +27,11 @@ endif
CFLAGS := -Os -Wall -W -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH -USWAP_ENDIANNESS -fno-builtin -g +CFLAGS+= -Wa,-xarch=v8 -Wa,-32 -m32 -mcpu=supersparc CFLAGS+= -Wredundant-decls -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations CFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing INCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include +AS_FLAGS := -Wa,-xarch=v8 -Wa,-32 -g
# # pre rules
Modified: openbios-devel/include/openbios/drivers.h =================================================================== --- openbios-devel/include/openbios/drivers.h 2006-06-10 01:27:11 UTC (rev 56) +++ openbios-devel/include/openbios/drivers.h 2006-06-10 01:31:30 UTC (rev 57) @@ -15,7 +15,7 @@ int ob_pci_init(void); #endif #ifdef CONFIG_DRIVER_SBUS -int ob_sbus_init(void); +int ob_sbus_init(unsigned long base); #endif #ifdef CONFIG_DRIVER_IDE int ob_ide_init(void);