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

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

?? head.s

?? linux0.11內(nèi)核源代碼,學(xué)習(xí)內(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 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产剧情一区二区三区| 亚洲国产一区二区三区青草影视| 男女性色大片免费观看一区二区 | 9l国产精品久久久久麻豆| 久久婷婷国产综合精品青草| 国产一区二区在线免费观看| 久久精品人人做| 色婷婷综合久久久久中文| 亚洲国产日韩精品| 日韩精品一区二区三区在线| 国产真实乱对白精彩久久| 国产精品成人一区二区三区夜夜夜| www.亚洲激情.com| 亚洲午夜精品网| 精品久久久久久无| 91免费观看视频在线| 亚洲成在人线免费| 欧美电影精品一区二区| 东方aⅴ免费观看久久av| 亚洲精品乱码久久久久久| 777午夜精品免费视频| 国产999精品久久久久久| 一区二区三区鲁丝不卡| 欧美tk丨vk视频| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲va欧美va人人爽| 2022国产精品视频| 91蝌蚪porny成人天涯| 美脚の诱脚舐め脚责91 | 91社区在线播放| 日本免费新一区视频| 国产三级精品三级在线专区| 在线中文字幕一区| 狠狠色2019综合网| 亚洲免费观看在线视频| 精品乱码亚洲一区二区不卡| 色一情一乱一乱一91av| 狠狠色狠狠色综合| 亚洲成人精品一区二区| 国产精品卡一卡二| 日韩免费电影一区| 在线观看日韩一区| 懂色av中文字幕一区二区三区 | 欧美一级片在线看| 91在线观看地址| 国产精品一区免费在线观看| 亚洲一区在线观看免费| 国产精品美女久久久久久久网站| 欧美丰满美乳xxx高潮www| 91在线精品秘密一区二区| 麻豆精品在线看| 亚洲一卡二卡三卡四卡无卡久久| 日本一区二区三区视频视频| 日韩一区二区三区在线视频| 欧美午夜在线观看| 91亚洲资源网| 99精品国产99久久久久久白柏| 国内精品第一页| 日本v片在线高清不卡在线观看| 一区二区三区日韩欧美| 日韩理论片一区二区| 中文字幕精品综合| 亚洲国产精品t66y| 久久青草欧美一区二区三区| 日韩一区二区三区视频在线观看| 精品视频一区二区三区免费| 一本久久综合亚洲鲁鲁五月天 | 日韩欧美一级二级三级 | 91精品国产综合久久福利| 色综合久久66| 色婷婷国产精品综合在线观看| 成人av中文字幕| 成人免费观看av| 国产白丝精品91爽爽久久| 国产精品影视在线观看| 国产传媒久久文化传媒| 国产美女主播视频一区| 国产成人亚洲综合a∨猫咪| 国产九九视频一区二区三区| 国产精品一区二区91| 国产精品亚洲а∨天堂免在线| 国产自产视频一区二区三区| 国产毛片精品国产一区二区三区| 韩国欧美一区二区| 国产激情精品久久久第一区二区| 国产精品亚洲第一| gogogo免费视频观看亚洲一| 99精品黄色片免费大全| 91网站在线播放| 欧美午夜理伦三级在线观看| 欧美日韩精品系列| 日韩免费看的电影| 久久久精品蜜桃| 国产精品理论片| 亚洲一区二区偷拍精品| 日韩专区欧美专区| 久久99久久久欧美国产| 国产麻豆91精品| 99久久婷婷国产| 欧美天堂一区二区三区| 日韩美女一区二区三区四区| 国产午夜精品一区二区三区嫩草 | 不卡一区中文字幕| 色综合久久99| 日韩写真欧美这视频| 国产日韩视频一区二区三区| 亚洲欧美日韩中文字幕一区二区三区 | 久久精品欧美一区二区三区麻豆| 国产精品另类一区| 一区二区三区产品免费精品久久75| 亚洲国产视频直播| 国产综合色产在线精品| 色中色一区二区| 精品久久国产字幕高潮| 国产精品网站导航| 亚洲成a人v欧美综合天堂| 狠狠色伊人亚洲综合成人| 一本久道久久综合中文字幕| 日韩一区二区在线观看视频| 中文字幕中文在线不卡住| 日韩电影在线一区| 成人午夜在线播放| 这里只有精品免费| 国产精品久久久久久久久久久免费看| 亚洲午夜激情网站| 国产一区二区三区最好精华液| 日本韩国一区二区三区视频| 欧美一级在线免费| 伊人夜夜躁av伊人久久| 国产成人综合网| 欧美日本免费一区二区三区| 久久精品这里都是精品| 日韩中文字幕区一区有砖一区| 国产aⅴ综合色| 日韩三级视频在线看| 亚洲制服丝袜一区| 国产白丝精品91爽爽久久| 91精品国产欧美一区二区18 | 久久综合九色综合97婷婷| 亚洲一区二区美女| 成人精品免费看| 欧美成人bangbros| 亚洲成人动漫在线免费观看| 懂色av一区二区三区蜜臀| 精品国产欧美一区二区| 香蕉成人伊视频在线观看| www.亚洲在线| 久久精品视频免费| 韩国欧美国产1区| 欧美一区二区美女| 亚洲一区二区三区四区的| 91视频免费看| 亚洲四区在线观看| 99这里都是精品| 中文字幕第一区二区| 国产一区二区三区免费播放| 7777精品伊人久久久大香线蕉的| 一区二区三区欧美久久| av亚洲精华国产精华| 国产精品免费久久久久| 成人黄色软件下载| 亚洲国产精品二十页| 懂色av一区二区三区蜜臀| 欧美韩国日本不卡| 国产精品亚洲专一区二区三区| 精品美女被调教视频大全网站| 久久国产精品99久久久久久老狼| 91精品欧美一区二区三区综合在 | 国产不卡在线视频| 久久久久国产精品厨房| 国产麻豆日韩欧美久久| 久久精品综合网| 成人高清免费观看| 亚洲精品国产无天堂网2021 | 欧美二区乱c少妇| 天堂蜜桃91精品| 日韩午夜中文字幕| 国产一区二区导航在线播放| 国产视频911| 91浏览器打开| 亚洲国产成人porn| 日韩女优av电影在线观看| 狠狠网亚洲精品| 日韩一区欧美一区| 欧美图区在线视频| 麻豆免费看一区二区三区| 国产亚洲精品7777| 色呦呦网站一区| 日韩国产成人精品| 精品免费视频.| 不卡一区二区三区四区| 一区二区三区国产| 欧美sm极限捆绑bd| 成人av电影在线网| 亚洲成人福利片| 久久精品视频在线看| 在线视频欧美区| 九九精品视频在线看| 亚洲欧美日韩成人高清在线一区| 欧美三级资源在线|