[PATCH] add xbox subarchitecture

Anders Gustafsson (andersg@0x63.nu)
Thu, 10 Jul 2003 19:28:02 +0200


Hi,

please apply the following patch that adds the xbox subarchitecture.

-- 
Anders Gustafsson - andersg@0x63.nu - http://0x63.nu/

You can import this changeset into BK by piping this whole message to: '| bk receive [path to repository]' or apply the patch as usual.

===================================================================

ChangeSet 1.1380 03/07/10 18:06:17 andersg@0x63.nu +10 -0 Added configure option for the XBox Gaming System subarchitecture.

include/asm-i386/mach-xbox/mach_pci_blacklist.h 1.1 03/07/10 18:05:50 andersg@0x63.nu +6 -0

include/asm-i386/mach-xbox/mach_pci_blacklist.h 1.0 03/07/10 18:05:50 andersg@0x63.nu +0 -0 BitKeeper file /data/dev/kernel/bk/xbox-2.5/include/asm-i386/mach-xbox/mach_pci_blacklist.h

include/asm-i386/mach-default/mach_pci_blacklist.h 1.1 03/07/10 18:05:49 andersg@0x63.nu +6 -0

arch/i386/mach-xbox/setup.c 1.1 03/07/10 18:05:49 andersg@0x63.nu +79 -0

include/asm-i386/mach-default/mach_pci_blacklist.h 1.0 03/07/10 18:05:49 andersg@0x63.nu +0 -0 BitKeeper file /data/dev/kernel/bk/xbox-2.5/include/asm-i386/mach-default/mach_pci_blacklist.h

arch/i386/mach-xbox/setup.c 1.0 03/07/10 18:05:49 andersg@0x63.nu +0 -0 BitKeeper file /data/dev/kernel/bk/xbox-2.5/arch/i386/mach-xbox/setup.c

arch/i386/mach-xbox/reboot.c 1.1 03/07/10 18:05:48 andersg@0x63.nu +51 -0

arch/i386/mach-xbox/reboot.c 1.0 03/07/10 18:05:48 andersg@0x63.nu +0 -0 BitKeeper file /data/dev/kernel/bk/xbox-2.5/arch/i386/mach-xbox/reboot.c

arch/i386/mach-xbox/Makefile 1.1 03/07/10 18:05:44 andersg@0x63.nu +5 -0

include/asm-i386/timex.h 1.6 03/07/10 18:05:44 andersg@0x63.nu +5 -1 The xbox has a different CLOCK_TICK_RATE.

arch/i386/pci/direct.c 1.19 03/07/10 18:05:44 andersg@0x63.nu +4 -0 Added a mach-hook for blacklisting pci-devices. The xbox uses this to prevent it from touching some devices that makes it ha ng solid.

arch/i386/mach-xbox/Makefile 1.0 03/07/10 18:05:44 andersg@0x63.nu +0 -0 BitKeeper file /data/dev/kernel/bk/xbox-2.5/arch/i386/mach-xbox/Makefile

arch/i386/boot/compressed/Makefile 1.17 03/07/10 18:05:44 andersg@0x63.nu +5 -0 There is some strange interaction when paging is off, that makes 1.1 xboxen crash while decompressing kernel. Compiling the decompressor without optimization works around this problem.

arch/i386/Makefile 1.53 03/07/10 18:05:44 andersg@0x63.nu +4 -0 Added XBox Gaming System subarchitecture.

arch/i386/Kconfig 1.66 03/07/10 18:05:44 andersg@0x63.nu +19 -2 Added configure option for the XBox Gaming System subarchitecture.

arch/i386/Kconfig | 21 +++++ arch/i386/Makefile | 4 + arch/i386/boot/compressed/Makefile | 5 + arch/i386/mach-xbox/Makefile | 5 + arch/i386/mach-xbox/reboot.c | 51 +++++++++++++ arch/i386/mach-xbox/setup.c | 79 +++++++++++++++++++++ arch/i386/pci/direct.c | 4 + include/asm-i386/mach-default/mach_pci_blacklist.h | 6 + include/asm-i386/mach-xbox/mach_pci_blacklist.h | 6 + include/asm-i386/timex.h | 6 + 10 files changed, 184 insertions(+), 3 deletions(-)

diff -Nru a/arch/i386/Kconfig b/arch/i386/Kconfig --- a/arch/i386/Kconfig Thu Jul 10 18:07:08 2003 +++ b/arch/i386/Kconfig Thu Jul 10 18:07:08 2003 @@ -43,6 +43,22 @@ help Choose this option if your computer is a standard PC or compatible. +config X86_XBOX + bool "XBox Gaming System" + help + This option is needed to make Linux boot on XBox Gaming Systems. + + The XBox can be considered as a standard PC with a Coppermine-based Celeron 733 MHz, + IDE harddrive, DVD, Ethernet, USB and graphics. + + To boot the kernel you need "_romwell", either used as a replacement BIOS (cromwell) + or as a bootloader. + + For more information see http://xbox-linux.sourceforge.net/ + + If you do not specifically need a kernel for XBOX machine, + say N here otherwise the kernel you build will not be bootable. + config X86_VOYAGER bool "Voyager (NCR)" help @@ -409,6 +425,7 @@ Otherwise, say N. config SMP + depends on !X86_XBOX bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have @@ -1104,7 +1121,7 @@ config MCA bool "MCA support" - depends on !(X86_VISWS || X86_VOYAGER) + depends on !(X86_VISWS || X86_VOYAGER || X86_XBOX) help MicroChannel Architecture is found in some IBM PS/2 machines and laptops. It is a bus system similar to PCI or ISA. See @@ -1410,7 +1427,7 @@ config X86_BIOS_REBOOT bool - depends on !(X86_VISWS || X86_VOYAGER) + depends on !(X86_VISWS || X86_VOYAGER || X86_XBOX) default y config X86_TRAMPOLINE diff -Nru a/arch/i386/Makefile b/arch/i386/Makefile --- a/arch/i386/Makefile Thu Jul 10 18:07:08 2003 +++ b/arch/i386/Makefile Thu Jul 10 18:07:08 2003 @@ -53,6 +53,10 @@ # Default subarch .c files mcore-y := mach-default +# Xbox subarch support +mflags-$(CONFIG_X86_XBOX) := -Iinclude/asm-i386/mach-xbox +mcore-$(CONFIG_X86_XBOX) := mach-xbox + # Voyager subarch support mflags-$(CONFIG_X86_VOYAGER) := -Iinclude/asm-i386/mach-voyager mcore-$(CONFIG_X86_VOYAGER) := mach-voyager diff -Nru a/arch/i386/boot/compressed/Makefile b/arch/i386/boot/compressed/Makefile --- a/arch/i386/boot/compressed/Makefile Thu Jul 10 18:07:08 2003 +++ b/arch/i386/boot/compressed/Makefile Thu Jul 10 18:07:08 2003 @@ -5,6 +5,11 @@ # targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o +ifeq ($(CONFIG_X86_XBOX),y) +#XXX Compiling with optimization makes 1.1-xboxen +# crash while decompressing the kernel +CFLAGS_misc.o := -O0 +endif EXTRA_AFLAGS := -traditional LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup_32 diff -Nru a/arch/i386/mach-xbox/Makefile b/arch/i386/mach-xbox/Makefile --- /dev/null Wed Dec 31 16:00:00 1969 +++ b/arch/i386/mach-xbox/Makefile Thu Jul 10 18:07:08 2003 @@ -0,0 +1,5 @@ +# +# Makefile for the linux kernel. +# + +obj-y := setup.o reboot.o diff -Nru a/arch/i386/mach-xbox/reboot.c b/arch/i386/ma