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