📄 1000.tango2.patch
字号:
diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/config-shared.in linuxmips-2.4.30/arch/mips/config-shared.in--- linuxmips-2.4.30.ref/arch/mips/config-shared.in 2005-01-30 00:01:26.000000000 -0800+++ linuxmips-2.4.30/arch/mips/config-shared.in 2007-06-20 14:01:27.000000000 -0700@@ -19,6 +19,7 @@ # mainmenu_option next_comment comment 'Machine selection'+dep_bool 'Support for SigmaDesigns Tango2 board (EXPERIMENTAL)' CONFIG_TANGO2 $CONFIG_EXPERIMENTAL dep_bool 'Support for Acer PICA 1 chipset (EXPERIMENTAL)' CONFIG_ACER_PICA_61 $CONFIG_EXPERIMENTAL dep_bool 'Support for Alchemy Bosporus board' CONFIG_MIPS_BOSPORUS $CONFIG_MIPS32 dep_bool 'Support for FIC Multimedia Player board' CONFIG_MIPS_FICMMP $CONFIG_MIPS32@@ -605,6 +606,10 @@ fi endmenu +if [ "$CONFIG_TANGO2" = "y" ]; then+ source arch/mips/config-tango2.in+fi+ mainmenu_option next_comment comment 'CPU selection' @@ -735,7 +740,8 @@ # mainmenu_option next_comment comment 'General setup'-if [ "$CONFIG_ACER_PICA_61" = "y" -o \+if [ "$CONFIG_TANGO2" = "y" -o \+ "$CONFIG_ACER_PICA_61" = "y" -o \ "$CONFIG_CASIO_E55" = "y" -o \ "$CONFIG_DDB5074" = "y" -o \ "$CONFIG_DDB5476" = "y" -o \@@ -891,16 +897,18 @@ string 'Initial kernel command string' CONFIG_CMDLINE "" fi -if [ "$CONFIG_SOC_AU1X00" = "y" ]; then+if [ "$CONFIG_SOC_AU1X00" = "y" -o "$CONFIG_TANGO2" = "y" ]; then bool 'Power Management support' CONFIG_PM fi endmenu source drivers/mtd/Config.in +if [ ! "$CONFIG_TANGO2" = "y" ]; then source drivers/parport/Config.in source drivers/pnp/Config.in+fi source drivers/block/Config.in if [ "$CONFIG_BLK_DEV_INITRD" = "y" ]; then@@ -913,13 +921,17 @@ endmenu fi +if [ ! "$CONFIG_TANGO2" = "y" ]; then source drivers/md/Config.in+fi if [ "$CONFIG_NET" = "y" ]; then source net/Config.in fi +if [ ! "$CONFIG_TANGO2" = "y" ]; then source drivers/telephony/Config.in+fi mainmenu_option next_comment comment 'ATA/IDE/MFM/RLL support'@@ -943,7 +955,9 @@ fi endmenu +if [ ! "$CONFIG_TANGO2" = "y" ]; then source drivers/message/fusion/Config.in+fi source drivers/ieee1394/Config.in @@ -965,7 +979,9 @@ endmenu fi +if [ ! "$CONFIG_TANGO2" = "y" ]; then source net/ax25/Config.in+fi source net/irda/Config.in @@ -1001,7 +1017,9 @@ source fs/Config.in +if [ ! "$CONFIG_TANGO2" = "y" ]; then source drivers/media/Config.in+fi if [ "$CONFIG_VT" = "y" ]; then mainmenu_option next_comment@@ -1021,6 +1039,7 @@ endmenu fi +if [ ! "$CONFIG_TANGO2" = "y" ]; then mainmenu_option next_comment comment 'Sound' @@ -1029,6 +1048,7 @@ source drivers/sound/Config.in fi endmenu+fi source drivers/usb/Config.in diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/config-tango2.in linuxmips-2.4.30/arch/mips/config-tango2.in--- linuxmips-2.4.30.ref/arch/mips/config-tango2.in 1969-12-31 16:00:00.000000000 -0800+++ linuxmips-2.4.30/arch/mips/config-tango2.in 2007-06-20 14:02:19.000000000 -0700@@ -0,0 +1,67 @@+#+# Tango2 specific configuration+#+mainmenu_option next_comment+comment 'TANGO2 specific configuration'++choice ' TANGO2 environment' \+ "Quickturn CONFIG_QUICKTURN \+ SMP863x CONFIG_TANGO2_SMP863X" SMP863x++if [ "$CONFIG_TANGO2_SMP863X" = "y" ]; then+choice ' SMP863x chip' \+ "ES1 CONFIG_TANGO2_ES1 \+ ES2 CONFIG_TANGO2_ES2 \+ ES3 CONFIG_TANGO2_ES3 \+ ES4-5 CONFIG_TANGO2_ES4 \+ ES6+ CONFIG_TANGO2_ES6" ES6+fi++if [ "$CONFIG_QUICKTURN" = "y" ]; then+ define_bool CONFIG_TANGO2_ES3 y+fi++hex 'Memory size' CONFIG_TANGO2_MEMSIZE 0x02000000++#define_bool CONFIG_TANGO2_HACK y+int 'HZ Value (100-1000)' CONFIG_TANGO2_HZ_VALUE 1000++define_bool CONFIG_TANGO2_USE_CPU_CLOCK n+bool 'Use zboot pflash signature block' CONFIG_TANGO2_SIG_BLOCK+if [ "$CONFIG_TANGO2_SIG_BLOCK" = "n" ]; then+ bool 'Use pflash xenv block' CONFIG_TANGO2_XENV+fi++define_bool CONFIG_IRQ_CPU y+define_bool CONFIG_NEW_IRQ y+define_bool CONFIG_NEW_TIME_C y+define_bool CONFIG_PC_KEYB y+define_bool CONFIG_NONCOHERENT_IO y+# disable almost everything at first...!+# define_bool CONFIG_SCSI n+define_bool CONFIG_ARC_CONSOLE n+# define_bool CONFIG_NET n+# define_bool CONFIG_NETDEVICES n+define_bool CONFIG_SOUND n+# under char category+#define_bool CONFIG_VT n+#define_bool CONFIG_SERIAL y+#define_bool CONFIG_SERIAL_CONSOLE y+define_bool CONFIG_SERIAL_MANY_PORTS n+define_bool CONFIG_MOUSE n+define_bool CONFIG_DS1286 n+# under console category+define_bool CONFIG_SGI_NEWPORT_CONSOLE n+# under fs category+#define_bool CONFIG_AUTOFS_FS n+#define_bool CONFIG_AUTOFS4_FS n+#define_bool CONFIG_EXT3_FS n+#define_bool CONFIG_ISO9660_FS n+# define_bool CONFIG_PARTITION_ADVANCED n++if [ "$CONFIG_TANGO2_ES4" = "y" -o "$CONFIG_TANGO2_ES6" = "y" ]; then+ bool 'Map DRAM1 with TLB (\"no\" for CPU remap instead)' CONFIG_TANGO2_USE_TLB_REMAP_DRAM1 +fi+ +endmenu+diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/defconfig linuxmips-2.4.30/arch/mips/defconfig--- linuxmips-2.4.30.ref/arch/mips/defconfig 2005-03-18 04:13:21.000000000 -0800+++ linuxmips-2.4.30/arch/mips/defconfig 2007-06-20 14:01:27.000000000 -0700@@ -20,6 +20,7 @@ # # Machine selection #+CONFIG_TANGO2=y # CONFIG_ACER_PICA_61 is not set # CONFIG_MIPS_BOSPORUS is not set # CONFIG_MIPS_MIRAGE is not set@@ -64,7 +65,7 @@ # CONFIG_NEC_EAGLE is not set # CONFIG_OLIVETTI_M700 is not set # CONFIG_NINO is not set-CONFIG_SGI_IP22=y+# CONFIG_SGI_IP22 is not set # CONFIG_SGI_IP27 is not set # CONFIG_SIBYTE_SB1xxx_SOC is not set # CONFIG_SNI_RM200_PCI is not set@@ -92,7 +93,7 @@ # # CPU selection #-# CONFIG_CPU_MIPS32 is not set+CONFIG_CPU_MIPS32=y # CONFIG_CPU_MIPS64 is not set # CONFIG_CPU_R3000 is not set # CONFIG_CPU_TX39XX is not set@@ -100,7 +101,7 @@ # CONFIG_CPU_R4300 is not set # CONFIG_CPU_R4X00 is not set # CONFIG_CPU_TX49XX is not set-CONFIG_CPU_R5000=y+# CONFIG_CPU_R5000 is not set # CONFIG_CPU_R5432 is not set # CONFIG_CPU_R6000 is not set # CONFIG_CPU_NEVADA is not setdiff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/kernel/cpu-probe.c linuxmips-2.4.30/arch/mips/kernel/cpu-probe.c--- linuxmips-2.4.30.ref/arch/mips/kernel/cpu-probe.c 2005-04-06 17:37:19.000000000 -0700+++ linuxmips-2.4.30/arch/mips/kernel/cpu-probe.c 2007-06-20 14:01:27.000000000 -0700@@ -34,6 +34,7 @@ ".set\tmips0"); } +#ifdef CONFIG_SOC_AU1X00 /* The Au1xxx wait is available only if using 32khz counter or * external timer source, but specifically not CP0 Counter. */ static void au1k_wait(void)@@ -54,6 +55,7 @@ ".set mips0\n\t" : : "r" (addr)); }+#endif static inline void check_wait(void) {@@ -91,6 +93,7 @@ cpu_wait = r4k_wait; printk(" available.\n"); break;+#ifdef CONFIG_SOC_AU1X00 case CPU_AU1000: case CPU_AU1100: case CPU_AU1500:@@ -105,6 +108,7 @@ printk(" unavailable.\n"); } break;+#endif default: printk(" unavailable.\n"); break;@@ -472,6 +476,12 @@ /* Probe for L2 cache */ c->scache.flags &= ~MIPS_CACHE_NOT_PRESENT; break;+#ifdef CONFIG_TANGO2+ case PRID_IMP_SIGMADESIGNS:+ c->cputype = CPU_4KEC;+ c->isa_level = MIPS_CPU_ISA_M32;+ break;+#endif default: c->cputype = CPU_UNKNOWN; break;diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/kernel/head.S linuxmips-2.4.30/arch/mips/kernel/head.S--- linuxmips-2.4.30.ref/arch/mips/kernel/head.S 2004-11-22 05:38:23.000000000 -0800+++ linuxmips-2.4.30/arch/mips/kernel/head.S 2007-06-20 14:01:27.000000000 -0700@@ -29,11 +29,26 @@ #include <asm/stackframe.h> .text+#ifdef CONFIG_TANGO2+ /*+ * Kernel entry point+ */+ NESTED(kernel_entry, 16, sp)+ j old_kernel_entry+ END(kernel_entry)++ /*+ * Reserved space for exception handlers.+ * Necessary for machines which link their kernels at KSEG0.+ */+ .fill 0x400 - 0x8+#else /* * Reserved space for exception handlers. * Necessary for machines which link their kernels at KSEG0. */ .fill 0x400+#endif /* The following two symbols are used for kernel profiling. */ EXPORT(stext)@@ -165,7 +180,11 @@ /* * Kernel entry point */+#ifdef CONFIG_TANGO2+ NESTED(old_kernel_entry, 16, sp)+#else NESTED(kernel_entry, 16, sp)+#endif .set push /* * For the moment disable interrupts and mark the kernel mode.@@ -205,7 +224,11 @@ jal init_arch .set pop+#ifdef CONFIG_TANGO2+ END(old_kernel_entry)+#else END(kernel_entry)+#endif #ifdef CONFIG_SMPdiff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/kernel/irq.c linuxmips-2.4.30/arch/mips/kernel/irq.c--- linuxmips-2.4.30.ref/arch/mips/kernel/irq.c 2003-11-16 17:07:32.000000000 -0800+++ linuxmips-2.4.30/arch/mips/kernel/irq.c 2007-06-20 14:01:27.000000000 -0700@@ -457,8 +457,10 @@ a different instance of this same irq, the other processor will take care of it. */- if (!action)+ if (!action) {+ desc->handler->shutdown(irq); /* Shut off this IRQ */ goto out;+ } /* * Edge triggered interrupts need to remember@@ -480,12 +482,14 @@ desc->status &= ~IRQ_PENDING; } desc->status &= ~IRQ_INPROGRESS;-out:+ /* * The ->end() handler has to deal with interrupts which got * disabled while the handler was running. */ desc->handler->end(irq);++out: spin_unlock(&desc->lock); if (softirq_pending(cpu))diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/kernel/setup.c linuxmips-2.4.30/arch/mips/kernel/setup.c--- linuxmips-2.4.30.ref/arch/mips/kernel/setup.c 2005-01-13 13:15:57.000000000 -0800+++ linuxmips-2.4.30/arch/mips/kernel/setup.c 2007-06-20 14:01:27.000000000 -0700@@ -39,6 +39,11 @@ #include <asm/ptrace.h> #include <asm/system.h> +#ifdef CONFIG_TANGO2+#include <asm/tango2/tango2.h>+#include <asm/tango2/memcfg.h>+#endif+ struct cpuinfo_mips cpu_data[NR_CPUS]; EXPORT_SYMBOL(cpu_data); @@ -186,6 +191,15 @@ int len = 0; int usermem = 0; +#ifdef CONFIG_TANGO2+ extern unsigned long em8xxx_kmem_start;+ extern unsigned long em8xxx_kmem_size;+ memcfg_t *m=(memcfg_t *)KSEG1ADDR(MEM_BASE_dram_controller_0+FM_MEMCFG);+ unsigned long kend;+ unsigned long offset;+ offset = KSEG1ADDR(em8xxx_kmem_start) - KSEG1ADDR(MEM_BASE_dram_controller_0);+#endif+ printk("Determined physical RAM map:\n"); print_memory_map(); @@ -212,8 +226,23 @@ if (*from == '@') start_at = memparse(from + 1, &from); else+#ifdef CONFIG_TANGO2+ start_at = MEM_BASE_dram_controller_0+offset;+#else start_at = 0;+#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -