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

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

?? long.s

?? this is aes algorithm
?? S
字號:
/*- * Copyright (c) 2007-2008 *      Bill Paul <wpaul@windriver.com>.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *      This product includes software developed by Bill Paul. * 4. Neither the name of the author nor the names of any co-contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. *//* * This module handles switching back and forth between real mode and * long mode. The assumption is that we'll be running in long * mode most of the time, and will thunk into real mode only long enough * to call a BIOS or PXE routine. During the thunk, we'll preserve most * of the registers on the protected mode stack (except for %rax, which * is generally assumed to be volatile). * * When entering real mode, we set up a special real mode stack and * data segment. This is so that the real mode code (primarily PXE) * can use stack and data space without potentially colliding with * the stack and data used in protected mode. The protected mode stack * is located at 0x6C00. The real mode stack is placed at 0x7C00. * The real mode data segment is placed at 0x4000. We leave the %fs * segment register set to segment 0 so that we can use it from * real mode to access storage used from long mode. The assumption * The assumption is that the real mode code won't use this segment * register. I don't know if this is guaranteed, but there haven't * been any problems with it so far. */#define _ASM#include "data.h"	.globl long_to_real	.globl real_to_long	.text/* * Switch to real mode from protected mode. * %rax is destroyed, all other registers are preserved. */long_to_real:	/* Grab the return address off the stack. */	pop	%rax	/* Save all registers */	push	%rax	push	%rbx	push	%rcx	push	%rdx	push	%rsi	push	%rdi	push	%rbp	/* Save protected mode stack pointer. */	mov	%rsp, EXT(saved_stack)	mov	%rax, %rsi /* Save return address here */	/* Do an intersegment jump to enter compatibility mode. */	mov	$compat_addr, %rax	ljmp	*(%rax)c1:	.code32		/* Turn off paging */	mov	%cr0, %eax	and	$~(CR0_PG), %eax	mov	%eax, %cr0	/* Disable PAE */	movl	%cr4, %eax	and	$~(CR4_PAE | CR4_PSE), %eax	movl	%eax, %cr4	/* Turn off long mode */	movl	$MSR_EFER, %ecx	rdmsr	andl	$~(EFER_LME|EFER_SCE|EFER_NXE), %eax	wrmsr	/* Now running in protected mode with no paging. */	/* Get rid of references to page tables */	xorl	%eax, %eax	mov	%eax, %cr3	/* Switch to real mode segment */	ljmpw	$GDT_RCODE, $real1real1:	/*	 * Set segments for real mode.	 * Note: this is required, because the CPU caches the	 * segment/selector register values and will retain them	 * even after we've switched back to running in a 16-bit	 * code segment. (This is known as "unreal mode," and can	 * be used to allow real mode code to access 4GB of	 * address space.)	 */	mov	$GDT_RDATA, %ax        mov	%ax, %ds        mov	%ax, %es        mov	%ax, %fs        mov	%ax, %gs        mov	%ax, %ss	/* Clear PE bit in CR0 */	mov	%cr0, %eax	and	$~CR0_PE, %eax	mov	%eax, %cr0	/* Switch to real mode */	ljmp	$0, $real2real2:	.code16	/* Give real mode its own data segment */	mov	$DATA_REAL, %ax        mov	%ax, %ds        mov	%ax, %es        mov	%ax, %gs	/* Leave %fs alone so we can use it. */	xorw	%ax, %ax        mov	%ax, %fs	/* Set up the real mode stack. */	mov	$STACK_REAL_SEG, %ax        mov	%ax, %ss	mov	$STACK_REAL_OFF, %sp	/* Put the return address onto the real mode stack. */	push	%si	ret	/* 	 * The following two NOP instructions are here to work	 * around what appears to be a bug in the Cygwin assembler	 * and/or linker. For some reason, code in the bios.S and	 * pxecall.S modules that calls the real_to_long() function	 * below ends up branching to an address two bytes _before_         * the start of real_to_long(). This corresponds to the	 * 'push %si' instruction above. It's unclear why this	 * happens, but the two NOP instructions mitigate the	 * problem (even though the branch destination is still         * wrong, the code falls through to the real_to_long()	 * entry below).	 *	 * When building the code with an assembler/linker that	 * calculates the branch offset correctly, these two NOPs	 * are never executed.	 */	nop	nop/* * Switch from protected mode to real mode. * %rax is destroyed, all other registers preserved. */real_to_long:	cli	/* Grab return address off the stack */	pop	%si	/* Reload GDT, in case it's been modified. */	lgdtw	%fs:EXT(GDESC)        /* Set PE bit in CR0 */        mov     %cr0, %eax        or      $CR0_PE, %eax        mov     %eax, %cr0        /* Do a jump to flush the instruction pipe */        jmp     prot1prot1:	/* Load segments for protected mode */	mov	$GDT_PDATA, %ax        mov	%ax, %ds        mov	%ax, %es        mov	%ax, %fs        mov	%ax, %gs        mov	%ax, %ss	/* Return to protected mode (sets %cs) */	ljmp	$GDT_PCODE, $prot2prot2:	.code32        /* Turn on EFER.LME in the EFER machine specific register */	movl    $MSR_EFER, %ecx	rdmsr	orl     $EFER_LME, %eax	wrmsr        /* Turn on PAE and enable paging */        movl    %cr4, %eax        orl     $(CR4_PAE | CR4_PSE), %eax        movl    %eax, %cr4        /* Set %cr3 to point to our page tables */        movl    $PT4, %eax        movl    %eax, %cr3	/* Turn on paging (implicitly sets EFER.LMA) */	movl    %cr0, %eax	orl     $CR0_PG, %eax	movl    %eax, %cr0	/* Now switch to the long mode segment */	ljmp	$GDT_LCODE, $prot3prot3:	.code64	/* Restore the protexted mode stack */	mov	EXT(saved_stack), %rsp	/* Temporarily save return address. */	mov	%rsi, EXT(saved_stack)	/* Restore all registers */	pop	%rbp	pop	%rdi	pop	%rsi	pop	%rdx	pop	%rcx	pop	%rbx	pop	%rax	mov	EXT(saved_stack), %rax	push	%rax	retq	.datacompat_addr:	.long	c1	.word	GDT_PCODE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品久久久久久国产精华液| 激情欧美一区二区| 久久国产精品露脸对白| 高清shemale亚洲人妖| 欧美视频中文一区二区三区在线观看| 欧美一级精品大片| 亚洲一线二线三线久久久| 国产成人av电影在线观看| 欧美一级高清片| 亚洲第一主播视频| 色菇凉天天综合网| 国产精品日韩成人| 黑人巨大精品欧美一区| 日韩一区二区三区免费观看| 亚洲成人一区二区| 日本精品一级二级| 亚洲人一二三区| 国产成人精品亚洲777人妖| 欧美变态tickle挠乳网站| 午夜精品一区二区三区电影天堂| 91麻豆精东视频| |精品福利一区二区三区| 国产91丝袜在线播放九色| 久久嫩草精品久久久久| 国内精品国产三级国产a久久| 7777精品伊人久久久大香线蕉| 亚洲综合在线电影| 91伊人久久大香线蕉| 亚洲免费观看高清| 色悠悠亚洲一区二区| 国产精品传媒视频| av一区二区三区在线| 国产精品久久777777| 成人sese在线| 亚洲欧美一区二区三区极速播放 | 视频一区二区国产| 69堂亚洲精品首页| 九九精品视频在线看| 久久综合五月天婷婷伊人| 欧美aaaaa成人免费观看视频| 欧美浪妇xxxx高跟鞋交| 青青青伊人色综合久久| 337p日本欧洲亚洲大胆色噜噜| 狠狠色丁香久久婷婷综合_中| 欧美国产日韩在线观看| 成人高清免费观看| 亚洲精品午夜久久久| 欧美日韩一级二级| 理论电影国产精品| 久久精品亚洲乱码伦伦中文| 成人av在线一区二区三区| 一区二区三区久久久| 欧美疯狂做受xxxx富婆| 日本欧美在线观看| 欧美国产一区二区| 欧美日韩精品系列| 国产一二精品视频| 亚洲欧洲制服丝袜| 欧美一区二区成人6969| 成人性生交大片免费看中文网站| 最新欧美精品一区二区三区| 欧美日韩一本到| 国产aⅴ综合色| 亚洲成精国产精品女| 精品av久久707| 色婷婷久久久综合中文字幕| 免费高清视频精品| 国产精品久久久久aaaa| 欧美猛男男办公室激情| 国产精品一区免费在线观看| 一区二区欧美精品| 欧美国产激情一区二区三区蜜月| 欧美性生交片4| 岛国一区二区在线观看| 日韩av不卡在线观看| 中文字幕一区二区不卡| 欧美zozo另类异族| 欧美亚洲高清一区| 成人激情小说乱人伦| 日本欧美一区二区| 一区二区三区在线免费| 久久久精品人体av艺术| 6080yy午夜一二三区久久| 99热精品国产| 国产精品亚洲午夜一区二区三区 | 日韩精品一卡二卡三卡四卡无卡| 国产欧美精品区一区二区三区| 欧美日韩一区中文字幕| 成人午夜视频网站| 精品在线播放免费| 婷婷久久综合九色综合绿巨人| 亚洲欧洲99久久| 国产午夜三级一区二区三| 欧美一级片在线观看| 欧美日韩国产天堂| 91美女精品福利| 91在线码无精品| av动漫一区二区| 成人福利在线看| 成人黄色网址在线观看| 国产一区二区三区电影在线观看 | 久久综合五月天婷婷伊人| 91麻豆精品国产91久久久久久久久 | 欧美日韩视频在线观看一区二区三区 | 伊人一区二区三区| 亚洲欧洲日产国码二区| 亚洲国产高清在线观看视频| 精品91自产拍在线观看一区| 日韩美女视频在线| 欧美一卡在线观看| 日韩一二三区视频| 日韩欧美黄色影院| 欧美成人伊人久久综合网| 精品国产乱码久久久久久夜甘婷婷 | 欧美中文字幕一区| 在线观看一区不卡| 在线免费亚洲电影| 在线观看成人小视频| 欧美视频第二页| 欧美日韩在线播放三区四区| 欧美精品 日韩| 91精品国产欧美一区二区| 91精品国产免费| 2024国产精品| 中文字幕永久在线不卡| 中文字幕一区av| 依依成人精品视频| 日韩国产欧美在线播放| 激情欧美日韩一区二区| 国产mv日韩mv欧美| 色婷婷综合视频在线观看| 欧美日韩国产欧美日美国产精品| 欧美精品一级二级三级| 精品国产露脸精彩对白| 久久精品人人做| 综合网在线视频| 首页欧美精品中文字幕| 狠狠色丁香婷婷综合| 菠萝蜜视频在线观看一区| 欧美亚洲一区三区| 精品国产免费久久| 亚洲码国产岛国毛片在线| 天堂va蜜桃一区二区三区漫画版| 久久精品久久久精品美女| 成人av集中营| 欧美人伦禁忌dvd放荡欲情| 久久久亚洲欧洲日产国码αv| 日韩一区在线看| 男男gaygay亚洲| 91色在线porny| 久久综合久久99| 一区二区三区四区精品在线视频| 毛片av中文字幕一区二区| 不卡视频免费播放| 日韩视频免费观看高清完整版在线观看 | 亚洲一区二区中文在线| 久久精品99国产国产精| av成人免费在线观看| 欧美一级二级三级蜜桃| 亚洲免费av高清| 国产精品白丝jk白祙喷水网站| 欧洲av在线精品| 欧美国产一区在线| 美女一区二区三区在线观看| 91国偷自产一区二区三区成为亚洲经典 | 欧美性淫爽ww久久久久无| 久久免费精品国产久精品久久久久| 亚洲综合在线免费观看| 懂色av一区二区夜夜嗨| 日韩亚洲欧美成人一区| 一区二区三区在线视频观看58| 丁香激情综合五月| 精品对白一区国产伦| 日本在线不卡视频| 欧美在线影院一区二区| 国产精品二区一区二区aⅴ污介绍| 免费观看在线综合色| 欧美疯狂做受xxxx富婆| 亚洲永久精品大片| 一本到一区二区三区| 国产精品传媒视频| 不卡一二三区首页| 中文字幕+乱码+中文字幕一区| 久久精品国产一区二区| 在线视频国内一区二区| 亚洲乱码国产乱码精品精98午夜| 高清视频一区二区| 中文一区在线播放| 国产1区2区3区精品美女| 国产亚洲欧美一区在线观看| 激情五月婷婷综合网| 欧美草草影院在线视频| 久国产精品韩国三级视频| 日韩精品一区二区三区四区| 青娱乐精品视频| 日韩欧美一区二区不卡| 久久国产成人午夜av影院| 久久综合一区二区| 国产成人精品免费| 国产精品国模大尺度视频|