diff options
Diffstat (limited to 'target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch')
-rw-r--r-- | target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch | 45 |
1 files changed, 11 insertions, 34 deletions
diff --git a/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch b/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch index a1320d6073..b145c9d7c6 100644 --- a/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch +++ b/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch @@ -17,11 +17,9 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions create mode 100644 arch/mips/kernel/mtsched_proc.c create mode 100644 arch/mips/kernel/perf_proc.c -diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig -index bbaff9b..902aedb 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1897,6 +1897,28 @@ config MIPS_VPE_LOADER +@@ -1909,6 +1909,28 @@ config MIPS_VPE_LOADER Includes a loader for loading an elf relocatable object onto another VPE and running it. @@ -50,8 +48,6 @@ index bbaff9b..902aedb 100644 config MIPS_MT_SMTC_IM_BACKSTOP bool "Use per-TC register bits as backstop for inhibited IM bits" depends on MIPS_MT_SMTC -diff --git a/arch/mips/include/asm/mipsmtregs.h b/arch/mips/include/asm/mipsmtregs.h -index c9420aa..04bfb4b 100644 --- a/arch/mips/include/asm/mipsmtregs.h +++ b/arch/mips/include/asm/mipsmtregs.h @@ -28,14 +28,34 @@ @@ -161,11 +157,9 @@ index c9420aa..04bfb4b 100644 /* GPR */ #define read_tc_gpr_sp() mftgpr(29) -diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile -index 1a96618..bc5989e 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile -@@ -88,7 +88,8 @@ obj-$(CONFIG_MIPS32_O32) += binfmt_elfo32.o scall64-o32.o +@@ -88,7 +88,8 @@ obj-$(CONFIG_MIPS32_O32) += binfmt_elfo3 obj-$(CONFIG_KGDB) += kgdb.o obj-$(CONFIG_PROC_FS) += proc.o @@ -175,8 +169,6 @@ index 1a96618..bc5989e 100644 obj-$(CONFIG_64BIT) += cpu-bugs64.o obj-$(CONFIG_I8253) += i8253.o -diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c -index c23d11f..11d6489 100644 --- a/arch/mips/kernel/mips-mt.c +++ b/arch/mips/kernel/mips-mt.c @@ -21,26 +21,96 @@ @@ -281,7 +273,7 @@ index c23d11f..11d6489 100644 /* * Dump new MIPS MT state for the core. Does not leave TCs halted. -@@ -78,18 +148,18 @@ void mips_mt_regdump(unsigned long mvpctl) +@@ -78,18 +148,18 @@ void mips_mt_regdump(unsigned long mvpct if ((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) { printk(" VPE %d\n", i); printk(" VPEControl : %08lx\n", @@ -317,9 +309,6 @@ index c23d11f..11d6489 100644 } /* -diff --git a/arch/mips/kernel/mtsched_proc.c b/arch/mips/kernel/mtsched_proc.c -new file mode 100644 -index 0000000..4dafded --- /dev/null +++ b/arch/mips/kernel/mtsched_proc.c @@ -0,0 +1,279 @@ @@ -602,9 +591,6 @@ index 0000000..4dafded + +/* Automagically create the entry */ +module_init(init_mtsched_proc); -diff --git a/arch/mips/kernel/perf_proc.c b/arch/mips/kernel/perf_proc.c -new file mode 100644 -index 0000000..7eec015 --- /dev/null +++ b/arch/mips/kernel/perf_proc.c @@ -0,0 +1,191 @@ @@ -799,8 +785,6 @@ index 0000000..7eec015 + +/* Automagically create the entry */ +module_init(init_perf_proc); -diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c -index e309665..2de204f 100644 --- a/arch/mips/kernel/proc.c +++ b/arch/mips/kernel/proc.c @@ -7,6 +7,7 @@ @@ -811,7 +795,7 @@ index e309665..2de204f 100644 #include <asm/bootinfo.h> #include <asm/cpu.h> #include <asm/cpu-features.h> -@@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op = { +@@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op = .stop = c_stop, .show = show_cpuinfo, }; @@ -831,11 +815,9 @@ index e309665..2de204f 100644 + mips_proc = proc_mkdir("mips", NULL); + return(mips_proc); +} -diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c -index f0895e7..199e853 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c -@@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_struct *mm, unsigned long cpu) +@@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_ asid = asid_cache(cpu); do { @@ -849,11 +831,9 @@ index f0895e7..199e853 100644 if (!((asid += ASID_INC) & ASID_MASK) ) { if (cpu_has_vtag_icache) flush_icache_all(); -diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c -index bfa12a4..e338ba5 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c -@@ -75,6 +75,58 @@ static struct kspd_notifications kspd_events; +@@ -75,6 +75,58 @@ static struct kspd_notifications kspd_ev static int kspd_events_reqd; #endif @@ -912,7 +892,7 @@ index bfa12a4..e338ba5 100644 /* grab the likely amount of memory we will need. */ #ifdef CONFIG_MIPS_VPE_LOADER_TOM #define P_SIZE (2 * 1024 * 1024) -@@ -267,6 +319,13 @@ static void *alloc_progmem(unsigned long len) +@@ -267,6 +319,13 @@ static void *alloc_progmem(unsigned long void *addr; #ifdef CONFIG_MIPS_VPE_LOADER_TOM @@ -960,7 +940,7 @@ index bfa12a4..e338ba5 100644 /* * The sde-kit passes 'memsize' to __start in $a3, so set something * here... Or set $a3 to zero and define DFLT_STACK_SIZE and -@@ -832,6 +911,9 @@ static int find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs, +@@ -832,6 +911,9 @@ static int find_vpe_symbols(struct vpe * if ( (v->__start == 0) || (v->shared_ptr == NULL)) return -1; @@ -986,7 +966,7 @@ index bfa12a4..e338ba5 100644 if (v->__start == 0) { printk(KERN_WARNING "VPE loader: program does not contain " "a __start symbol\n"); -@@ -1063,6 +1154,9 @@ static int vpe_open(struct inode *inode, struct file *filp) +@@ -1063,6 +1154,9 @@ static int vpe_open(struct inode *inode, struct vpe_notifications *not; struct vpe *v; int ret; @@ -996,7 +976,7 @@ index bfa12a4..e338ba5 100644 if (minor != iminor(inode)) { /* assume only 1 device at the moment. */ -@@ -1088,7 +1182,12 @@ static int vpe_open(struct inode *inode, struct file *filp) +@@ -1088,7 +1182,12 @@ static int vpe_open(struct inode *inode, release_progmem(v->load_addr); cleanup_tc(get_tc(tclimit)); } @@ -1010,7 +990,7 @@ index bfa12a4..e338ba5 100644 /* this of-course trashes what was there before... */ v->pbuffer = vmalloc(P_SIZE); if (!v->pbuffer) { -@@ -1096,11 +1195,14 @@ static int vpe_open(struct inode *inode, struct file *filp) +@@ -1096,11 +1195,14 @@ static int vpe_open(struct inode *inode, return -ENOMEM; } v->plen = P_SIZE; @@ -1216,6 +1196,3 @@ index bfa12a4..e338ba5 100644 evpe(vpflags); emt(mtflags); --- -1.7.7.1 - |