github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/cpvmm/vmm/bootstrap/bootstrap_ia.h (about) 1 /* 2 * File: bootstrap_ia.h 3 * Description: intel architecture definitions 4 * Author: John Manferdelli 5 * Copyright (c) 2013 Intel Corporation 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 19 #ifndef _BOOTSTRAP_IA_H_ 20 #define _BOOTSTRAP_IA_H_ 21 22 #include "bootstrap_types.h" 23 24 // IA-32 Interrupt Descriptor Table - Gate Descriptor 25 typedef struct { 26 uint32_t OffsetLow:16; // Offset bits 15..0 27 uint32_t Selector:16; // Selector 28 uint32_t Reserved_0:8; // Reserved 29 uint32_t GateType:8; // Gate Type. See #defines above 30 uint32_t OffsetHigh:16; // Offset bits 31..16 31 } IA32_IDT_GATE_DESCRIPTOR; 32 33 34 // Descriptor for the Global Descriptor Table(GDT) and Interrupt Descriptor Table(IDT) 35 typedef struct { 36 uint16_t Limit; 37 uint32_t Base; 38 } IA32_DESCRIPTOR; 39 40 41 #endif