亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uclinux-dist-20040408-lpc-chy-cmj.patch

?? 在 LPC2200 上的UCLINUX 移植補丁
?? PATCH
?? 第 1 頁 / 共 5 頁
字號:
+                BNE     .+12*4*3+8++                mov     \irqnr, #19+                tst     r4, #0x00080000+                BNE     .+11*4*3+8++                mov     \irqnr, #20+                tst     r4, #0x00100000+                BNE     .+10*4*3+8++                mov     \irqnr, #21+                tst     r4, #0x00200000+                BNE     .+9*4*3+8++                mov     \irqnr, #22+                tst     r4, #0x00400000+                BNE     .+8*4*3+8++                mov     \irqnr, #23+                tst     r4, #0x00800000+                BNE     .+7*4*3+8++                mov     \irqnr, #24+                tst     r4, #0x01000000+                BNE     .+6*4*3+8++                mov     \irqnr, #25+                tst     r4, #0x02000000+                BNE     .+5*4*3+8++                mov     \irqnr, #26+                tst     r4, #0x04000000+                BNE     .+4*4*3+8++                mov     \irqnr, #27+                tst     r4, #0x08000000+                BNE     .+3*4*3+8++                mov     \irqnr, #28+                tst     r4, #0x10000000+                BNE     .+2*4*3+8++                mov     \irqnr, #29+                tst     r4, #0x20000000+                BNE     .+1*4*3+8++                mov     \irqnr, #30+                tst     r4, #0x40000000+                BNE     .+0*4*3+8++                mov     \irqnr, #31+++		.endm+		.macro	irq_prio_table+		.endm+ #elif defined(CONFIG_ARCH_TA7S) || defined(CONFIG_ARCH_TA7V) #include <asm/arch/arch.h> @@ -1602,6 +1748,25 @@                 ldmfd   sp!, {r4 - r9, pc} #else 		/* Normal case:  lower memory is writable. */+#if defined(CONFIG_ARCH_LPC)+		.equ	__real_stubs_start, 0x200 + RAM_BASE+.LCvectors:+		swi	SYS_ERROR0+		ldr pc, .vector_undef+		ldr pc, .vector_swi+		ldr pc, .vector_prefetch+		ldr pc, .vector_data+		ldr pc, .vector_reserve+		ldr pc, .vector_IRQ+		ldr pc, .vector_FIQ+.vector_undef:		.word	(__real_stubs_start + (vector_undefinstr - __stubs_start))+.vector_swi:		.word	vector_swi+.vector_prefetch:	.word	(__real_stubs_start + (vector_prefetch - __stubs_start))+.vector_data:		.word	(__real_stubs_start + (vector_data - __stubs_start))+.vector_reserve:	.word	(__real_stubs_start + (vector_addrexcptn - __stubs_start))+.vector_IRQ:		.word	(__real_stubs_start + (vector_IRQ - __stubs_start))+.vector_FIQ:		.word	(__real_stubs_start + (vector_FIQ - __stubs_start))+#else 		.equ	__real_stubs_start, .LCvectors + 0x200  .LCvectors:@@ -1654,6 +1819,7 @@ 		b	__real_stubs_start + (vector_IRQ - __stubs_start) - 0x60 		b	__real_stubs_start + (vector_IRQ - __stubs_start) - 0x60 #endif+#endif /* CONFIG_ARCH_LPC */  ENTRY(__trap_init) 		stmfd	sp!, {r4 - r9, lr}@@ -1687,10 +1853,21 @@ /*		str	r2, [r1]    	    	    */ #endif /* CONFIG_CPU_S3C44B0X */ 		+#ifdef CONFIG_ARCH_LPC+		mov r0, #RAM_BASE+#endif+ 		adr	r1, .LCvectors			@ set up the vectors 		ldmia	r1, {r2, r3, r4, r5, r6, r7, r8, r9} 		stmia	r0, {r2, r3, r4, r5, r6, r7, r8, r9} +#ifdef CONFIG_ARCH_LPC+		adr r1, .vector_undef+		ldmia	r1, {r2 - r9}+		mov	r0, #(RAM_BASE+32)+		stmia	r0, {r2 - r9}+#endif+ #ifdef CONFIG_CPU_S3C3410 		/* 		 * Enable the vector table based interrupt mode@@ -1735,6 +1912,10 @@ 		mov	r0, r4 #endif /* CONFIG_CPU_S3C44B0X */ +#ifdef CONFIG_ARCH_LPC+		mov r0, #RAM_BASE+#endif+ 		add	r2, r0, #0x200 		adr	r0, __stubs_start		@ copy stubs to 0x200 		adr	r1, __stubs_enddiff -Naur old/uClinux-dist/linux-2.4.x/arch/armnommu/kernel/head-armv.S uClinux-dist/linux-2.4.x/arch/armnommu/kernel/head-armv.S--- old/uClinux-dist/linux-2.4.x/arch/armnommu/kernel/head-armv.S	2004-04-08 08:15:03.000000000 +0800+++ uClinux-dist/linux-2.4.x/arch/armnommu/kernel/head-armv.S	2005-01-06 09:12:11.000000000 +0800@@ -220,6 +220,33 @@         .long	init_task_union+8192 #endif +#if defined(CONFIG_ARCH_LPC)+		adr		r5, LC0+		ldmia	r5, {r5, r6, r8, r9, sp}		@ Setup stack++		/* Clear BSS */+		mov		r4, #0+1:		cmp		r5, r8+		strcc	r4, [r5], #4+		bcc		1b++		/* Pretend we know what our processor code is (for arm_id) */+		ldr		r2, LPC_PROCESSOR_TYPE+		str		r2, [r6]+		mov		r2, #MACH_TYPE_LPC+		str		r2, [r9]++		mov		fp, #0+		b		start_kernel++LC0:	.long	__bss_start+		.long	processor_id+		.long	_end+		.long	__machine_arch_type+		.long	init_task_union+8192+LPC_PROCESSOR_TYPE:	.long	0xfefefefe+#endif+ #if defined(CONFIG_BOARD_SNDS100)          adr	r5, LC0diff -Naur old/uClinux-dist/linux-2.4.x/arch/armnommu/kernel/ptrace.c uClinux-dist/linux-2.4.x/arch/armnommu/kernel/ptrace.c--- old/uClinux-dist/linux-2.4.x/arch/armnommu/kernel/ptrace.c	2004-04-08 08:15:03.000000000 +0800+++ uClinux-dist/linux-2.4.x/arch/armnommu/kernel/ptrace.c	2005-06-06 09:51:12.000000000 +0800@@ -23,6 +23,8 @@  #include "ptrace.h" ++ #define REG_PC	15 #define REG_PSR	16 /*@@ -37,6 +39,44 @@ /* fill this in later */ #define BREAKINST_THUMB	0xdf00 +/*added by telpro*/+static inline long get_stack_long(struct task_struct *task, int offset);+#define REG_SP 13++int in_arm26_mode(struct task_struct *child)+{+	long psr;	+	psr = get_stack_long(child, REG_PSR) ;+	return ((psr & 0x1f) <= 3);+}++#define FIXPC(child, x)        \+	do {		\+		if(in_arm26_mode(child)) x = x & 0x0ffffffc; \+	}while(0)       ++//do as arch/armnommu/kernel/process.c+//a dirty version, FIXME...telpro+int is_addr_access( struct task_struct *child, +		      unsigned long addr )+{+	unsigned long sp;	+	if ( addr >= child->mm->start_code && +	     addr < child->mm->end_code )+		return 1;+	+	if ( addr >= child->mm->start_data &&+	     addr <  child->mm->brk )+		return 1;+	sp = get_stack_long(child, REG_SP) ;+	//actually <sp is r/w also.+	if ( addr >= sp &&+	     addr < child->mm->start_stack )+		return 1;+	return 0;	+}+	+ /*  * Get the address of the live pt_regs for the specified task.  * These are saved onto the top kernel stack when the process@@ -57,6 +97,12 @@  */ static inline long get_stack_long(struct task_struct *task, int offset) {+	unsigned long data;+	data = get_user_regs(task)->uregs[offset];++	if(offset == 14) {+		data = data & 0x03fffffe;+	} 	return get_user_regs(task)->uregs[offset]; } @@ -380,6 +426,8 @@  	regs = get_user_regs(child); 	pc = instruction_pointer(regs);+	//26bit , added by telpro+	FIXPC(child, pc);  	res = read_tsk_long(child, pc, &insn); 	if (!res) {@@ -389,8 +437,10 @@ 		dbg->nsaved = 0;  		alt = get_branch_address(child, pc, insn);-		if (alt)+		if (alt) {+			FIXPC(child, alt); 			res = add_breakpoint_arm(child, dbg, alt);+		}  		/* 		 * Note that we ignore the result of setting the above@@ -455,6 +505,11 @@ 		 */ 		case PTRACE_PEEKTEXT: 		case PTRACE_PEEKDATA:+			/*added by telpro*/+			if (!is_addr_access(child, addr) ) {+				ret = -EIO;	+				break;+			} 			ret = read_tsk_long(child, addr, &tmp); 			if (!ret) 				ret = put_user(tmp, (unsigned long *) data);@@ -471,15 +526,23 @@ 			tmp = 0;  /* Default return condition */ 			if (addr < sizeof(struct pt_regs)) { 				tmp = get_stack_long(child, (int)addr >> 2);-			} else if (addr == 4*49) {+				//added by telpro, for at91+				if(addr == 14*4 || addr == 15*4 ) {+					FIXPC(child, tmp);+				}+			} else if (addr == 49*4) { 				tmp = child->mm->start_code;-			} else if (addr == 4*50) {+			} else if (addr == 50*4) { 				tmp = child->mm->start_data;-			} else if (addr == 4*51) {+			} else if (addr == 51*4) { 				tmp = child->mm->end_code;-			} else if (addr == 4*52) {+			} else if (addr == 52*4)+			{ 				tmp = child->mm->end_data;-			}+			} else+				break;+			ret = put_user(tmp,(unsigned long *) data);+			break; 			ret = put_user(tmp, (unsigned long *)data); 			break; @@ -488,6 +551,11 @@ 		 */ 		case PTRACE_POKETEXT: 		case PTRACE_POKEDATA:+			/*added by telpro*/+			if (!is_addr_access(child, addr) ) {+				ret = -EIO;	+				break;+			} 			ret = write_tsk_long(child, addr, data); 			break; diff -Naur old/uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/arch.c uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/arch.c--- old/uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/arch.c	1970-01-01 08:00:00.000000000 +0800+++ uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/arch.c	2005-03-30 13:53:38.000000000 +0800@@ -0,0 +1,32 @@+#include <linux/tty.h>+#include <linux/delay.h>+#include <linux/pm.h>+#include <linux/init.h>++#include <asm/elf.h>+#include <asm/setup.h>+#include <asm/mach-types.h>+#include <asm/mach/arch.h>++extern void genarch_init_irq(void);++void fixup_lpc(struct machine_desc *desc, struct param_struct *params, char ** cmdline, struct meminfo * mi)+{+	mi->bank[0].start = 0x81000000;+	mi->bank[0].size = 8 * 1024 * 1024;+	mi->bank[0].node = 0;+	mi->nr_banks = 1;++#ifdef CONFIG_BLK_DEV_INITRD+	setup_ramdisk(1, 0, 0, CONFIG_BLK_DEV_RAM_SIZE);+	setup_initrd(__phys_to_virt(0x81700000), 1024 * 1024);+	ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0);+#endif+}++MACHINE_START(LPC, "zlg-arm-linux")+	MAINTAINER("tsinghua")+	BOOT_MEM(0x81000000, 0xe0000000, 0xe0000000)+	FIXUP(fixup_lpc)+	INITIRQ(genarch_init_irq)+MACHINE_ENDdiff -Naur old/uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/irq.c uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/irq.c--- old/uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/irq.c	1970-01-01 08:00:00.000000000 +0800+++ uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/irq.c	2005-04-26 13:22:14.000000000 +0800@@ -0,0 +1,56 @@+#include <linux/init.h>++#include <asm/mach/irq.h>+#include <asm/hardware.h>+#include <asm/io.h>+#include <asm/irq.h>+#include <asm/system.h>++extern struct irqdesc irq_desc[];++void lpc_mask_irq(unsigned int irq)+{+	__arch_putl(1<<irq, VIC_IECR);+}++void lpc_unmask_irq(unsigned int irq)+{+	unsigned long mask = 1 << (irq);+	unsigned long ier = __arch_getl(VIC_IER);+	+	ier = mask|ier;+	__arch_putl(ier, VIC_IER);+}++void lpc_mask_ack_irq(unsigned int irq)+{+	__arch_putl(0x0, VIC_AR);+	lpc_mask_irq(irq);+}++void lpc_init_vic(void)+{+	int irqno;+	+	/* Disable all interrupts */+	__arch_putl(0xffffffff, VIC_IECR);++	/* Clear all soft interrupts */+	__arch_putl(0xffffffff, VIC_SICR);++	/* use IRQ not FIQ */+	__arch_putl(0x0, VIC_ISLR);++//	for(irqno = 0; irqno < 16; irqno++)+//	{+//		__arch_putl(irqno, VIC_VAR(irqno)); /*index*/+//		__arch_putl(0x20|irqno, VIC_VCR(irqno)); /*vect*/+//	}+//	__arch_putl(16, VIC_DVAR);++	/* set protect */+	__arch_putl(1, VIC_PER);++	/* remap IRQ to RAM */+	__arch_putl(0x2, MEMMAP);+}diff -Naur old/uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/Makefile uClinux-dist/linux-2.4.x/arch/armnommu/mach-lpc/Makefile

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频在线观看一区二区三区| 欧美男人的天堂一二区| 一区二区三区 在线观看视频| 久久久久久久国产精品影院| 欧美久久久久久久久久| 欧美日韩视频专区在线播放| 欧美曰成人黄网| 欧美视频在线一区二区三区| 免费精品99久久国产综合精品| 久久久久成人黄色影片| 久久久影院官网| 久久久精品免费免费| 久久一区二区三区国产精品| 久久精品男人的天堂| 欧美国产综合色视频| 国产精品国产精品国产专区不蜜| 自拍视频在线观看一区二区| 亚洲精品国产a久久久久久 | 国内外成人在线| 国产成人av电影在线| kk眼镜猥琐国模调教系列一区二区| av亚洲精华国产精华精| 欧美日韩在线一区二区| 欧美白人最猛性xxxxx69交| 久久久不卡网国产精品二区 | 欧美性猛片xxxx免费看久爱| 欧美精品日韩综合在线| 欧美精品一区二区不卡| 国产精品欧美一区二区三区| 亚洲国产精品一区二区www| 成年人网站91| 欧美日韩国产系列| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品美女视频| 日韩国产精品91| 成人精品国产免费网站| 欧美久久一二区| 国产精品伦理在线| 五月激情丁香一区二区三区| 日韩va亚洲va欧美va久久| 成人久久久精品乱码一区二区三区| 欧美色倩网站大全免费| 欧美国产日韩一二三区| 日韩综合小视频| av爱爱亚洲一区| www激情久久| 亚洲黄色录像片| 成人国产精品免费观看视频| 在线综合视频播放| 尤物视频一区二区| 国产夫妻精品视频| 日韩免费电影网站| 亚洲大片一区二区三区| av午夜精品一区二区三区| 精品久久免费看| 视频一区欧美精品| 日本乱人伦aⅴ精品| 精品国内二区三区| 亚洲五码中文字幕| 91在线观看美女| 国产精品国产三级国产aⅴ中文| 成人99免费视频| 粉嫩高潮美女一区二区三区| 欧美亚洲一区三区| 亚洲人成网站在线| 99re热这里只有精品视频| 久久久久国产精品麻豆ai换脸| 久久电影网站中文字幕| 在线不卡一区二区| 亚洲123区在线观看| 欧洲av一区二区嗯嗯嗯啊| 亚洲视频一区二区在线观看| 成人免费视频播放| 国产精品萝li| 国产乱码字幕精品高清av| 日韩一级精品视频在线观看| 午夜视黄欧洲亚洲| 欧美日韩一区二区三区视频| 亚洲一区二区三区免费视频| 一本久道久久综合中文字幕| 国产成人在线电影| 欧美婷婷六月丁香综合色| 国产精品美女一区二区| 国产精品一二三四区| 精品欧美一区二区在线观看| 青草国产精品久久久久久| 欧美精品少妇一区二区三区| 石原莉奈在线亚洲二区| 91精品欧美久久久久久动漫| 亚洲成av人片在www色猫咪| 欧洲另类一二三四区| 亚洲福利一区二区| 欧美一区二区在线看| 久久99精品久久久久久国产越南 | 777a∨成人精品桃花网| 青青草国产精品97视觉盛宴| 日韩亚洲电影在线| 激情成人午夜视频| 国产精品麻豆一区二区| 色综合中文综合网| 1024成人网| 欧美色电影在线| 日韩av中文字幕一区二区| 欧美电影免费观看高清完整版| 九色porny丨国产精品| 国产欧美一区二区精品忘忧草| 91在线观看地址| 亚洲制服丝袜av| 精品日韩99亚洲| 成人免费视频免费观看| 偷拍与自拍一区| 久久久久久97三级| 欧美亚洲一区二区在线| 激情成人午夜视频| 亚洲欧洲精品一区二区三区| 欧美日韩一卡二卡| 成人午夜碰碰视频| 日韩精品亚洲一区二区三区免费| 久久综合视频网| 在线精品视频免费观看| 蜜桃视频一区二区| 一区二区三区资源| 久久亚洲精精品中文字幕早川悠里| 99久久精品久久久久久清纯| 午夜欧美大尺度福利影院在线看| 亚洲精品一区二区三区影院 | 麻豆精品视频在线| 国产精品视频第一区| 91精品国产色综合久久不卡蜜臀| 激情综合亚洲精品| 午夜久久久久久电影| 国产精品乱码人人做人人爱| 日韩欧美一二三区| 欧美男人的天堂一二区| 日本精品视频一区二区三区| 久久av老司机精品网站导航| 一区二区三区四区在线| 亚洲国产高清不卡| 久久综合久久综合九色| 制服丝袜一区二区三区| 在线免费观看日本一区| 在线观看日韩精品| 亚洲午夜视频在线观看| 国产香蕉久久精品综合网| 欧美亚洲日本一区| 国产成人免费视| 久久99国内精品| 日韩av中文在线观看| 五月天久久比比资源色| 亚洲欧洲av一区二区三区久久| 久久久噜噜噜久久中文字幕色伊伊| 欧美伦理影视网| 欧美性欧美巨大黑白大战| 在线一区二区观看| 91久久人澡人人添人人爽欧美| 丰满亚洲少妇av| 成人18视频在线播放| 成人激情免费电影网址| 国产激情精品久久久第一区二区| 强制捆绑调教一区二区| 老司机精品视频在线| 极品少妇xxxx精品少妇偷拍| 国产精品精品国产色婷婷| 国产喷白浆一区二区三区| 久久久久久一二三区| 久久综合狠狠综合久久综合88| 日韩一区二区三区av| 欧美成人vps| 国产精品三级久久久久三级| 亚洲欧洲日韩av| 亚洲香蕉伊在人在线观| 亚洲一区二区三区视频在线| 日韩激情av在线| 国产一区在线看| 成人国产精品免费观看动漫| 色先锋aa成人| 欧美军同video69gay| 精品少妇一区二区三区视频免付费| 亚洲精品一区二区三区四区高清| 亚洲国产高清不卡| 又紧又大又爽精品一区二区| 日日嗨av一区二区三区四区| 九九九久久久精品| 99久久精品免费看| 欧美一区二区三区四区在线观看 | 欧美精品在欧美一区二区少妇| 成人18视频日本| 婷婷国产在线综合| 日韩高清欧美激情| 青青草精品视频| 粉嫩嫩av羞羞动漫久久久| 色呦呦国产精品| 欧美猛男gaygay网站| 精品国产自在久精品国产| 国产精品蜜臀av| 久久成人av少妇免费| 94-欧美-setu| 日韩视频不卡中文| 亚洲男同性视频| 国产一区福利在线|