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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? head.s

?? linux0.11的內(nèi)核代碼
?? S
字號:
/* *  linux/boot/head.s * *  (C) 1991  Linus Torvalds *//* *  head.s contains the 32-bit startup code. * * NOTE!!! Startup happens at absolute address 0x00000000, which is also where * the page directory will exist. The startup code will be overwritten by * the page directory. */.text.globl _idt,_gdt,_pg_dir,_tmp_floppy_area_pg_dir:startup_32:	movl $0x10,%eax	mov %ax,%ds	mov %ax,%es	mov %ax,%fs	mov %ax,%gs	lss _stack_start,%esp	call setup_idt	call setup_gdt	movl $0x10,%eax		# reload all the segment registers	mov %ax,%ds		# after changing gdt. CS was already	mov %ax,%es		# reloaded in 'setup_gdt'	mov %ax,%fs	mov %ax,%gs	lss _stack_start,%esp	xorl %eax,%eax1:	incl %eax		# check that A20 really IS enabled	movl %eax,0x000000	# loop forever if it isn't	cmpl %eax,0x100000	je 1b/* * NOTE! 486 should set bit 16, to check for write-protect in supervisor * mode. Then it would be unnecessary with the "verify_area()"-calls. * 486 users probably want to set the NE (#5) bit also, so as to use * int 16 for math errors. */	movl %cr0,%eax		# check math chip	andl $0x80000011,%eax	# Save PG,PE,ET/* "orl $0x10020,%eax" here for 486 might be good */	orl $2,%eax		# set MP	movl %eax,%cr0	call check_x87	jmp after_page_tables/* * We depend on ET to be correct. This checks for 287/387. */check_x87:	fninit	fstsw %ax	cmpb $0,%al	je 1f			/* no coprocessor: have to set bits */	movl %cr0,%eax	xorl $6,%eax		/* reset MP, set EM */	movl %eax,%cr0	ret.align 21:	.byte 0xDB,0xE4		/* fsetpm for 287, ignored by 387 */	ret/* *  setup_idt * *  sets up a idt with 256 entries pointing to *  ignore_int, interrupt gates. It then loads *  idt. Everything that wants to install itself *  in the idt-table may do so themselves. Interrupts *  are enabled elsewhere, when we can be relatively *  sure everything is ok. This routine will be over- *  written by the page tables. */setup_idt:	lea ignore_int,%edx	movl $0x00080000,%eax	movw %dx,%ax		/* selector = 0x0008 = cs */	movw $0x8E00,%dx	/* interrupt gate - dpl=0, present */	lea _idt,%edi	mov $256,%ecxrp_sidt:	movl %eax,(%edi)	movl %edx,4(%edi)	addl $8,%edi	dec %ecx	jne rp_sidt	lidt idt_descr	ret/* *  setup_gdt * *  This routines sets up a new gdt and loads it. *  Only two entries are currently built, the same *  ones that were built in init.s. The routine *  is VERY complicated at two whole lines, so this *  rather long comment is certainly needed :-). *  This routine will beoverwritten by the page tables. */setup_gdt:	lgdt gdt_descr	ret/* * I put the kernel page tables right after the page directory, * using 4 of them to span 16 Mb of physical memory. People with * more than 16MB will have to expand this. */.org 0x1000pg0:.org 0x2000pg1:.org 0x3000pg2:.org 0x4000pg3:.org 0x5000/* * tmp_floppy_area is used by the floppy-driver when DMA cannot * reach to a buffer-block. It needs to be aligned, so that it isn't * on a 64kB border. */_tmp_floppy_area:	.fill 1024,1,0after_page_tables:	pushl $0		# These are the parameters to main :-)	pushl $0	pushl $0	pushl $L6		# return address for main, if it decides to.	pushl $_main	jmp setup_pagingL6:	jmp L6			# main should never return here, but				# just in case, we know what happens./* This is the default interrupt "handler" :-) */int_msg:	.asciz "Unknown interrupt\n\r".align 2ignore_int:	pushl %eax	pushl %ecx	pushl %edx	push %ds	push %es	push %fs	movl $0x10,%eax	mov %ax,%ds	mov %ax,%es	mov %ax,%fs	pushl $int_msg	call _printk	popl %eax	pop %fs	pop %es	pop %ds	popl %edx	popl %ecx	popl %eax	iret/* * Setup_paging * * This routine sets up paging by setting the page bit * in cr0. The page tables are set up, identity-mapping * the first 16MB. The pager assumes that no illegal * addresses are produced (ie >4Mb on a 4Mb machine). * * NOTE! Although all physical memory should be identity * mapped by this routine, only the kernel page functions * use the >1Mb addresses directly. All "normal" functions * use just the lower 1Mb, or the local data space, which * will be mapped to some other place - mm keeps track of * that. * * For those with more memory than 16 Mb - tough luck. I've * not got it, why should you :-) The source is here. Change * it. (Seriously - it shouldn't be too difficult. Mostly * change some constants etc. I left it at 16Mb, as my machine * even cannot be extended past that (ok, but it was cheap :-) * I've tried to show which constants to change by having * some kind of marker at them (search for "16Mb"), but I * won't guarantee that's all :-( ) */.align 2setup_paging:	movl $1024*5,%ecx		/* 5 pages - pg_dir+4 page tables */	xorl %eax,%eax	xorl %edi,%edi			/* pg_dir is at 0x000 */	cld;rep;stosl	movl $pg0+7,_pg_dir		/* set present bit/user r/w */	movl $pg1+7,_pg_dir+4		/*  --------- " " --------- */	movl $pg2+7,_pg_dir+8		/*  --------- " " --------- */	movl $pg3+7,_pg_dir+12		/*  --------- " " --------- */	movl $pg3+4092,%edi	movl $0xfff007,%eax		/*  16Mb - 4096 + 7 (r/w user,p) */	std1:	stosl			/* fill pages backwards - more efficient :-) */	subl $0x1000,%eax	jge 1b	xorl %eax,%eax		/* pg_dir is at 0x0000 */	movl %eax,%cr3		/* cr3 - page directory start */	movl %cr0,%eax	orl $0x80000000,%eax	movl %eax,%cr0		/* set paging (PG) bit */	ret			/* this also flushes prefetch-queue */.align 2.word 0idt_descr:	.word 256*8-1		# idt contains 256 entries	.long _idt.align 2.word 0gdt_descr:	.word 256*8-1		# so does gdt (not that that's any	.long _gdt		# magic number, but it works for me :^)	.align 3_idt:	.fill 256,8,0		# idt is uninitialized_gdt:	.quad 0x0000000000000000	/* NULL descriptor */	.quad 0x00c09a0000000fff	/* 16Mb */	.quad 0x00c0920000000fff	/* 16Mb */	.quad 0x0000000000000000	/* TEMPORARY - don't use */	.fill 252,8,0			/* space for LDT's and TSS's etc */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品色一区二区三区| 韩国av一区二区三区四区| 91啪亚洲精品| 中文字幕在线观看不卡| 91首页免费视频| 最好看的中文字幕久久| 色婷婷久久久综合中文字幕| 综合久久一区二区三区| 欧美亚州韩日在线看免费版国语版| 亚洲另类在线一区| 欧美日韩精品久久久| 日韩高清不卡在线| 久久夜色精品国产欧美乱极品| 国产精品一区二区免费不卡| 中文字幕一区二区三区视频| 91免费观看视频在线| 亚洲成a人片在线不卡一二三区| 欧美电影在哪看比较好| 国产一区二区三区蝌蚪| 亚洲欧洲一区二区三区| 欧美三级日韩在线| 久久国产麻豆精品| 国产精品九色蝌蚪自拍| 在线观看一区二区精品视频| 免费的成人av| 亚洲欧洲国产日韩| 777奇米四色成人影色区| 激情久久久久久久久久久久久久久久| 国产精品免费视频网站| 欧美日韩视频专区在线播放| 国产最新精品免费| 亚洲另类春色国产| 精品国产免费人成电影在线观看四季 | 国产成人免费视频网站| 亚洲欧美日韩国产手机在线 | 亚洲精选视频在线| 欧美一区二区三区电影| 成人va在线观看| 美国十次综合导航| 1000部国产精品成人观看| 欧美综合一区二区| 国产精品一区一区| 性感美女久久精品| 国产精品久久久久天堂| 日韩欧美的一区| 91网上在线视频| 精品无人区卡一卡二卡三乱码免费卡| 中文字幕一区免费在线观看| 日韩三级电影网址| 一本大道av伊人久久综合| 国产在线播精品第三| 亚洲国产成人高清精品| 国产日韩欧美不卡在线| 欧美一区二区福利视频| 色久综合一二码| 国产老女人精品毛片久久| 亚洲成人免费视| 成人免费在线观看入口| 久久综合久久综合亚洲| 欧美日韩电影在线| 日本二三区不卡| 丁香六月久久综合狠狠色| 喷水一区二区三区| 天堂影院一区二区| 亚洲欧美另类图片小说| 国产精品乱码一区二三区小蝌蚪| 日韩精品中文字幕在线不卡尤物| 91激情在线视频| 99热精品国产| 不卡一区二区在线| 国产91综合网| 成人中文字幕在线| 国产成人亚洲综合a∨婷婷| 狠狠v欧美v日韩v亚洲ⅴ| 久久精品国产精品亚洲精品 | 亚洲免费观看高清完整版在线观看熊| 久久亚洲一区二区三区明星换脸| 日韩欧美国产三级| 91精品国产高清一区二区三区蜜臀 | 日韩片之四级片| 欧美另类一区二区三区| 欧美人妇做爰xxxⅹ性高电影 | 欧美人体做爰大胆视频| 欧美日韩的一区二区| 欧美乱妇20p| 欧美一区二区日韩一区二区| 欧美一区二区三区视频免费| 日韩精品中午字幕| 久久免费看少妇高潮| 国产亚洲成年网址在线观看| 久久只精品国产| 国产欧美视频一区二区三区| 中文字幕第一区| 最近日韩中文字幕| 亚洲成人午夜影院| 秋霞国产午夜精品免费视频| 精品在线一区二区三区| 国产一区二区三区四区在线观看| 高清beeg欧美| 99国产精品国产精品毛片| 色婷婷激情综合| 欧美日韩黄色影视| 欧美成人精品1314www| 国产亚洲欧美色| 中文字幕佐山爱一区二区免费| 亚洲激情成人在线| 日韩电影免费在线观看网站| 国产麻豆视频精品| 97久久精品人人做人人爽50路| 91久久国产最好的精华液| 91精品免费在线| 久久久亚洲精品一区二区三区| 综合婷婷亚洲小说| 日本vs亚洲vs韩国一区三区二区| 经典三级一区二区| 99久久婷婷国产精品综合| 欧美三级韩国三级日本三斤| 日韩三级av在线播放| 中文字幕欧美日本乱码一线二线 | 91成人免费电影| 3751色影院一区二区三区| 久久久99久久| 亚洲国产综合91精品麻豆| 国产精品18久久久久久久久久久久 | 99视频精品全部免费在线| 在线不卡免费av| 国产精品无码永久免费888| 亚洲综合一二区| 国产精品69毛片高清亚洲| 欧美日本一区二区三区四区| 欧美激情在线观看视频免费| 亚洲成在人线免费| 波多野洁衣一区| 欧美va亚洲va香蕉在线| 一区二区免费在线| 国产成人精品亚洲午夜麻豆| 欧美午夜寂寞影院| 国产精品久久久久桃色tv| 久久成人免费电影| 欧美日韩中文字幕一区二区| 国产日韩v精品一区二区| 水野朝阳av一区二区三区| 91亚洲资源网| 国产农村妇女精品| 久久精品国产第一区二区三区| 色婷婷久久久亚洲一区二区三区| 久久久亚洲国产美女国产盗摄| 亚洲成av人综合在线观看| www.亚洲国产| 久久久久久久一区| 秋霞影院一区二区| 51久久夜色精品国产麻豆| 亚洲一区二区三区四区在线免费观看| 成人动漫一区二区三区| xfplay精品久久| 老汉av免费一区二区三区| 欧美日韩卡一卡二| 亚洲午夜一区二区| 在线视频一区二区免费| 亚洲视频一区在线观看| 成人的网站免费观看| 日本一区二区免费在线观看视频| 日韩成人免费看| 在线成人小视频| 日韩avvvv在线播放| 欧美三级电影网站| 亚洲妇熟xx妇色黄| 欧美日韩卡一卡二| 午夜a成v人精品| 6080日韩午夜伦伦午夜伦| 天天色天天操综合| 91精品国产乱码| 久久99国产精品久久99| 欧美大片在线观看| 韩国成人精品a∨在线观看| 精品国产91洋老外米糕| 极品尤物av久久免费看| 久久这里只有精品6| 国产成人午夜电影网| 国产日韩欧美a| 99热国产精品| 亚洲制服丝袜av| 欧美久久久久中文字幕| 奇米777欧美一区二区| 日韩欧美国产一区在线观看| 精品一区二区三区视频在线观看| 欧美精品一区二区三区久久久 | 欧美系列亚洲系列| 日韩在线观看一区二区| 精品欧美久久久| 国产黑丝在线一区二区三区| 国产精品久99| 欧美日韩一区二区在线视频| 免费看欧美美女黄的网站| 国产三级精品视频| 91理论电影在线观看| 午夜精品久久久久影视| 欧美精品一区二区三区在线| caoporn国产一区二区| 亚洲电影视频在线|