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

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

?? gdt.c

?? Simple Operating Systems (簡稱SOS)是一個可以運行在X86平臺上(包括QEMU
?? C
字號:
/* Copyright (C) 2004  David Decotigny   Copyright (C) 1999  Free Software Foundation, Inc.   This program is free software; you can redistribute it and/or   modify it under the terms of the GNU General Public License   as published by the Free Software Foundation; either version 2   of the License, or (at your option) any later version.      This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.      You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   USA. */#include "segment.h"#include "gdt.h"/** * The sructure of a segment descriptor. * * @see Intel x86 doc, Vol 3, section 3.4.3, figure 3-8. For segment * types, see section 3.5 */struct x86_segment_descriptor{  /* Lowest dword */  sos_ui16_t limit_15_0;            /* Segment limit, bits 15..0 */  sos_ui16_t base_paged_addr_15_0;  /* Base address, bits 15..0 */  /* Highest dword */  sos_ui8_t  base_paged_addr_23_16; /* Base address bits 23..16 */  sos_ui8_t  segment_type:4;        /* Section 3.4.3.1 (code/data)				       and 3.5 (system) of Intel x86 vol 3 */  sos_ui8_t  descriptor_type:1;     /* 0=system, 1=Code/Data */  sos_ui8_t  dpl:2;  sos_ui8_t  present:1;  sos_ui8_t  limit_19_16:4;         /* Segment limit, bits 19..16 */  sos_ui8_t  custom:1;  sos_ui8_t  zero:1;  sos_ui8_t  op_size:1;             /* 0=16bits instructions, 1=32bits */  sos_ui8_t  granularity:1;         /* 0=limit in bytes, 1=limit in pages */    sos_ui8_t  base_paged_addr_31_24; /* Base address bits 31..24 */} __attribute__ ((packed, aligned (8)));/** * The GDT register, which stores the address and size of the * GDT. * * @see Intel x86 doc vol 3, section 2.4, figure 2-4; and section * 3.5.1 */struct x86_gdt_register {  /* The maximum GDT offset allowed to access an entry in the GDT */  sos_ui16_t  limit;  /* This is not exactly a "virtual" address, ie an adddress such as     those of instructions and data; this is a "linear" address, ie an     address in the paged memory. However, in SOS we configure the     segmented memory as a "flat" space: the 0-4GB segment-based (ie     "virtual") addresses directly map to the 0-4GB paged memory (ie     "linear"), so that the "linear" addresses are numerically equal     to the "virtual" addresses: this base_addr will thus be the same     as the address of the gdt array */  sos_ui32_t base_addr;} __attribute__((packed, aligned(8)));/** * Helper macro that builds a Segment descriptor for the virtual * 0..4GB addresses to be mapped to the linear 0..4GB linear * addresses. */#define BUILD_GDTE(descr_privilege_level,is_code)               \  ((struct x86_segment_descriptor) {                            \      .limit_15_0=            0xffff,                           \      .base_paged_addr_15_0=  0,                                \      .base_paged_addr_23_16= 0,                                \      .segment_type=          ((is_code)?0xb:0x3),              \             /* With descriptor_type (below) = 1 (code/data),   \	      * see Figure 3-1 of section 3.4.3.1 in Intel      \	      * x86 vol 3:                                      \	      *   - Code (bit 3 = 1):                           \	      *     bit 0: 1=Accessed                           \	      *     bit 1: 1=Readable                           \	      *     bit 2: 0=Non-Conforming                     \	      *   - Data (bit 3 = 0):                           \	      *     bit 0: 1=Accessed                           \	      *     bit 1: 1=Writable                           \	      *     bit 2: 0=Expand up (stack-related)          \	      * For Conforming/non conforming segments, see     \	      * Intel x86 Vol 3 section 4.8.1.1                 \	      */                                                \      .descriptor_type=       1,  /* 1=Code/Data */             \      .dpl=                   ((descr_privilege_level) & 0x3),  \      .present=               1,                                \      .limit_19_16=           0xf,                              \      .custom=                0,                                \      .op_size=               1,  /* 32 bits instr/data */      \      .granularity=           1   /* limit is in 4kB Pages */   \  })/** The actual GDT */static struct x86_segment_descriptor gdt[] = {  [SOS_SEG_NULL]  = (struct x86_segment_descriptor){ 0, },  [SOS_SEG_KCODE] = BUILD_GDTE(0, 1),  [SOS_SEG_KDATA] = BUILD_GDTE(0, 0),};sos_ret_t sos_gdt_setup(void){  struct x86_gdt_register gdtr;  /* Address of the GDT */  gdtr.base_addr = (sos_ui32_t) gdt;  /* The limit is the maximum offset in bytes from the base address of     the GDT */  gdtr.limit     = sizeof(gdt) - 1;  /* Commit the GDT into the CPU, and update the segment     registers. The CS register may only be updated with a long jump     to an absolute address in the given segment (see Intel x86 doc     vol 3, section 4.8.1). */  asm volatile ("lgdt %0          \n\                 ljmp %1,$1f      \n\                 1:               \n\                 movw %2, %%ax    \n\                 movw %%ax,  %%ss \n\                 movw %%ax,  %%ds \n\                 movw %%ax,  %%es \n\                 movw %%ax,  %%fs \n\                 movw %%ax,  %%gs"		:		:"m"(gdtr),		 "i"(SOS_BUILD_SEGMENT_REG_VALUE(0, FALSE, SOS_SEG_KCODE)),		 "i"(SOS_BUILD_SEGMENT_REG_VALUE(0, FALSE, SOS_SEG_KDATA))		:"memory","eax");  return SOS_OK;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品一区二区| 日韩一区二区三区视频| 欧美日韩成人在线一区| 国产精品久久久久影院老司| 亚洲综合在线第一页| 国产精品一级黄| 3d动漫精品啪啪| 亚洲欧美日韩中文字幕一区二区三区| 日本不卡视频在线观看| 日本精品裸体写真集在线观看| 精品黑人一区二区三区久久| 亚洲午夜久久久久久久久电影网| 成人免费高清视频| 欧美成人三级电影在线| 亚洲成人综合视频| 91免费看`日韩一区二区| 久久久久久黄色| 久久精品国产精品亚洲综合| 欧美老人xxxx18| 亚洲免费伊人电影| 成人h版在线观看| 国产午夜精品一区二区三区嫩草 | 亚洲女性喷水在线观看一区| 国产一区二区成人久久免费影院 | 亚洲地区一二三色| 91免费版在线| 亚洲品质自拍视频| 99久久er热在这里只有精品15 | 在线观看免费一区| 一区二区三区产品免费精品久久75| 国产成人在线影院| 久久久91精品国产一区二区精品| 裸体歌舞表演一区二区| 欧美一级免费大片| 日本三级韩国三级欧美三级| 制服丝袜一区二区三区| 日本一道高清亚洲日美韩| 欧美日韩高清不卡| 三级在线观看一区二区| 欧美人牲a欧美精品| 午夜久久久久久久久| 欧美日韩精品专区| 日本vs亚洲vs韩国一区三区二区 | 国产欧美精品一区aⅴ影院| 夫妻av一区二区| 国产精品传媒入口麻豆| 91在线观看地址| 亚洲午夜电影在线观看| 欧美精品aⅴ在线视频| 美脚の诱脚舐め脚责91| 久久九九久久九九| 99精品久久久久久| 午夜精品久久久久久久久| 欧美一区二区三区视频在线观看| 久久精品免费观看| 国产精品午夜电影| 欧美自拍丝袜亚洲| 秋霞午夜鲁丝一区二区老狼| 久久综合九色综合欧美98| av成人动漫在线观看| 亚洲成av人片| 久久你懂得1024| 91网站最新地址| 日韩av电影免费观看高清完整版 | 国产一区二区在线观看免费| 国产精品美女久久久久高潮| 日本大香伊一区二区三区| 五月激情六月综合| 久久欧美一区二区| 欧美在线观看18| 国内精品久久久久影院薰衣草| 国产精品美女久久久久久久久| 欧美日韩和欧美的一区二区| 国产高清亚洲一区| 无码av免费一区二区三区试看| 精品噜噜噜噜久久久久久久久试看| 成人一级片在线观看| 午夜日韩在线观看| 国产精品蜜臀在线观看| 日韩一二三四区| 色哟哟国产精品| 国产一区二区三区免费播放| 亚洲国产一区二区三区青草影视| 久久九九国产精品| 3atv一区二区三区| 91社区在线播放| 国产成人在线视频播放| 日韩**一区毛片| 一个色在线综合| 国产精品国产自产拍在线| 欧美xxx久久| 91精品国产综合久久精品app| 91色综合久久久久婷婷| 成人免费不卡视频| 免费日韩伦理电影| 午夜视频在线观看一区二区三区| 国产精品久久久久aaaa| 久久久久久久久一| 欧美电视剧免费全集观看| 欧美怡红院视频| 91麻豆精品视频| 成人av小说网| 不卡电影一区二区三区| 国产一本一道久久香蕉| 蜜桃精品在线观看| 欧美a级一区二区| 丝袜亚洲另类欧美| 日韩主播视频在线| 亚洲成人av一区| 亚洲一二三四区不卡| 亚洲狼人国产精品| 1000精品久久久久久久久| 国产精品久久久久毛片软件| 中文一区二区在线观看| 国产精品久久三区| 中文天堂在线一区| 综合久久一区二区三区| 亚洲日本免费电影| 亚洲一区影音先锋| 天天操天天干天天综合网| 日精品一区二区三区| 美女视频免费一区| 国产九九视频一区二区三区| 国产精品一区二区你懂的| 国产精品小仙女| 99精品国产热久久91蜜凸| 99精品黄色片免费大全| 欧美亚洲日本一区| 日韩一区二区三区精品视频 | 美腿丝袜亚洲色图| 久久91精品国产91久久小草| 国产成人精品在线看| 丁香婷婷综合激情五月色| 成人av资源在线| 在线观看亚洲精品| 欧美久久久影院| 中文字幕视频一区| 亚洲一区在线看| 黄页网站大全一区二区| 国产成a人无v码亚洲福利| 色综合天天综合狠狠| 欧美日韩视频一区二区| 欧美日韩精品是欧美日韩精品| 337p亚洲精品色噜噜| 国产日韩亚洲欧美综合| 亚洲欧美另类久久久精品2019| 亚洲国产va精品久久久不卡综合| 日本在线不卡视频| 波多野结衣视频一区| 精品视频1区2区| 久久只精品国产| 亚洲乱码国产乱码精品精98午夜| 日韩成人精品在线观看| 丁香五精品蜜臀久久久久99网站 | 555www色欧美视频| 国产婷婷色一区二区三区在线| 一区二区视频在线| 精品在线一区二区三区| 一本色道亚洲精品aⅴ| 欧美一区二区三区喷汁尤物| 一区精品在线播放| 久久se这里有精品| 色综合久久久久网| 久久综合资源网| 午夜精品久久久久影视| 国产美女av一区二区三区| 色狠狠av一区二区三区| 久久麻豆一区二区| 日韩高清一区二区| 在线看不卡av| 国产精品超碰97尤物18| 国产综合色产在线精品 | 丁香六月综合激情| 欧美一区日本一区韩国一区| 樱花影视一区二区| 国产v日产∨综合v精品视频| 欧美一级免费大片| 亚洲国产乱码最新视频 | 欧美精品在线一区二区| 亚洲人成在线播放网站岛国| 国产一区二区电影| 欧美电影免费观看高清完整版在线观看| 亚洲欧美一区二区三区极速播放| 国产美女视频一区| 精品蜜桃在线看| 美女网站色91| 91精品国产综合久久久久久漫画| 亚洲午夜久久久久久久久久久| 久久久久久免费| 日韩av电影免费观看高清完整版 | 亚洲美女电影在线| 成人av在线资源网| 国产肉丝袜一区二区| 国产一区二区三区最好精华液| 日韩片之四级片| 麻豆精品国产91久久久久久| 69p69国产精品| 天天综合天天做天天综合| 欧美日韩中文字幕精品| 亚洲国产wwwccc36天堂|