system.hh (10299:bec0c5ffc323) system.hh (10554:fe2e2f06a7c8)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 29 unchanged lines hidden (view full) ---

38 */
39
40#ifndef __ARCH_X86_SYSTEM_HH__
41#define __ARCH_X86_SYSTEM_HH__
42
43#include <string>
44#include <vector>
45
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 29 unchanged lines hidden (view full) ---

38 */
39
40#ifndef __ARCH_X86_SYSTEM_HH__
41#define __ARCH_X86_SYSTEM_HH__
42
43#include <string>
44#include <vector>
45
46#include "arch/x86/regs/misc.hh"
46#include "base/loader/symtab.hh"
47#include "cpu/pc_event.hh"
48#include "kern/system_events.hh"
49#include "params/X86System.hh"
50#include "sim/sim_object.hh"
51#include "sim/system.hh"
52
53namespace X86ISA
54{
55 namespace SMBios
56 {
57 class SMBiosTable;
58 }
59 namespace IntelMP
60 {
61 class FloatingPointer;
62 class ConfigTable;
63 }
64
47#include "base/loader/symtab.hh"
48#include "cpu/pc_event.hh"
49#include "kern/system_events.hh"
50#include "params/X86System.hh"
51#include "sim/sim_object.hh"
52#include "sim/system.hh"
53
54namespace X86ISA
55{
56 namespace SMBios
57 {
58 class SMBiosTable;
59 }
60 namespace IntelMP
61 {
62 class FloatingPointer;
63 class ConfigTable;
64 }
65
66 void installSegDesc(ThreadContext *tc, SegmentRegIndex seg,
67 SegDescriptor desc, bool longmode);
68
65 /* memory mappings for KVMCpu in SE mode */
66 const uint64_t syscallCodeVirtAddr = 0xffff800000000000;
67 const uint64_t syscallCodePhysAddr = 0x60000;
68 const uint64_t GDTVirtAddr = 0xffff800000001000;
69 const uint64_t GDTPhysAddr = 0x61000;
70 const uint64_t IDTVirtAddr = 0xffff800000002000;
71 const uint64_t IDTPhysAddr = 0x62000;
72 const uint64_t TSSVirtAddr = 0xffff800000003000;
73 const uint64_t TSSPhysAddr = 0x63000;
74 const uint64_t ISTVirtAddr = 0xffff800000004000;
75 const uint64_t ISTPhysAddr = 0x64000;
69 /* memory mappings for KVMCpu in SE mode */
70 const uint64_t syscallCodeVirtAddr = 0xffff800000000000;
71 const uint64_t syscallCodePhysAddr = 0x60000;
72 const uint64_t GDTVirtAddr = 0xffff800000001000;
73 const uint64_t GDTPhysAddr = 0x61000;
74 const uint64_t IDTVirtAddr = 0xffff800000002000;
75 const uint64_t IDTPhysAddr = 0x62000;
76 const uint64_t TSSVirtAddr = 0xffff800000003000;
77 const uint64_t TSSPhysAddr = 0x63000;
78 const uint64_t ISTVirtAddr = 0xffff800000004000;
79 const uint64_t ISTPhysAddr = 0x64000;
80 const uint64_t PFHandlerVirtAddr = 0xffff800000005000;
81 const uint64_t PFHandlerPhysAddr = 0x65000;
82 const uint64_t MMIORegionVirtAddr = 0xffffc90000000000;
83 const uint64_t MMIORegionPhysAddr = 0xffff0000;
76
77 const uint64_t pageTablePhysAddr = 0x70000;
78}
79
80class X86System : public System
81{
82 public:
83 typedef X86SystemParams Params;

--- 34 unchanged lines hidden ---
84
85 const uint64_t pageTablePhysAddr = 0x70000;
86}
87
88class X86System : public System
89{
90 public:
91 typedef X86SystemParams Params;

--- 34 unchanged lines hidden ---