gem5  v20.1.0.0
apic.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 The Regents of The University of Michigan
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met: redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer;
9  * redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution;
12  * neither the name of the copyright holders nor the names of its
13  * contributors may be used to endorse or promote products derived from
14  * this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 #ifndef __ARCH_X86_APICREGS_HH__
30 #define __ARCH_X86_APICREGS_HH__
31 
32 #include "base/bitunion.hh"
33 
34 namespace X86ISA
35 {
37  {
47 
49 
51 
53 
66 
68 
70  };
71 
72  static inline ApicRegIndex
74  {
76  }
77 
78  static inline ApicRegIndex
80  {
82  }
83 
84  static inline ApicRegIndex
86  {
88  }
89 
90  BitUnion32(InterruptCommandRegLow)
91  Bitfield<7, 0> vector;
92  Bitfield<10, 8> deliveryMode;
93  Bitfield<11> destMode;
94  Bitfield<12> deliveryStatus;
95  Bitfield<14> level;
96  Bitfield<15> trigger;
97  Bitfield<19, 18> destShorthand;
98  EndBitUnion(InterruptCommandRegLow)
99 
100  BitUnion32(InterruptCommandRegHigh)
101  Bitfield<31, 24> destination;
102  EndBitUnion(InterruptCommandRegHigh)
103 }
104 
105 #endif
X86ISA::APIC_TASK_PRIORITY
@ APIC_TASK_PRIORITY
Definition: apic.hh:40
X86ISA::APIC_LVT_PERFORMANCE_MONITORING_COUNTERS
@ APIC_LVT_PERFORMANCE_MONITORING_COUNTERS
Definition: apic.hh:59
X86ISA::BitUnion32
BitUnion32(TriggerIntMessage) Bitfield< 7
X86ISA::APIC_DIVIDE_CONFIGURATION
@ APIC_DIVIDE_CONFIGURATION
Definition: apic.hh:65
X86ISA::APIC_LVT_THERMAL_SENSOR
@ APIC_LVT_THERMAL_SENSOR
Definition: apic.hh:58
X86ISA::APIC_INTERRUPT_REQUEST
static ApicRegIndex APIC_INTERRUPT_REQUEST(int index)
Definition: apic.hh:85
X86ISA::APIC_DESTINATION_FORMAT
@ APIC_DESTINATION_FORMAT
Definition: apic.hh:45
X86ISA::ApicRegIndex
ApicRegIndex
Definition: apic.hh:36
X86ISA::APIC_VERSION
@ APIC_VERSION
Definition: apic.hh:39
X86ISA::index
Bitfield< 5, 3 > index
Definition: types.hh:93
X86ISA::destShorthand
Bitfield< 19, 18 > destShorthand
Definition: apic.hh:97
X86ISA::APIC_ID
@ APIC_ID
Definition: apic.hh:38
bitunion.hh
X86ISA::APIC_ARBITRATION_PRIORITY
@ APIC_ARBITRATION_PRIORITY
Definition: apic.hh:41
X86ISA::APIC_IN_SERVICE_BASE
@ APIC_IN_SERVICE_BASE
Definition: apic.hh:48
X86ISA::APIC_INTERRUPT_COMMAND_LOW
@ APIC_INTERRUPT_COMMAND_LOW
Definition: apic.hh:55
X86ISA::APIC_IN_SERVICE
static ApicRegIndex APIC_IN_SERVICE(int index)
Definition: apic.hh:73
X86ISA::deliveryStatus
Bitfield< 12 > deliveryStatus
Definition: apic.hh:94
X86ISA
This is exposed globally, independent of the ISA.
Definition: acpi.hh:55
X86ISA::APIC_TRIGGER_MODE_BASE
@ APIC_TRIGGER_MODE_BASE
Definition: apic.hh:50
X86ISA::destMode
Bitfield< 19 > destMode
Definition: intmessage.hh:46
X86ISA::APIC_ERROR_STATUS
@ APIC_ERROR_STATUS
Definition: apic.hh:54
X86ISA::NUM_APIC_REGS
@ NUM_APIC_REGS
Definition: apic.hh:69
X86ISA::level
Bitfield< 20 > level
Definition: intmessage.hh:47
X86ISA::APIC_INTERNAL_STATE
@ APIC_INTERNAL_STATE
Definition: apic.hh:67
X86ISA::vector
Bitfield< 15, 8 > vector
Definition: intmessage.hh:44
X86ISA::EndBitUnion
EndBitUnion(TriggerIntMessage) namespace DeliveryMode
Definition: intmessage.hh:49
X86ISA::APIC_PROCESSOR_PRIORITY
@ APIC_PROCESSOR_PRIORITY
Definition: apic.hh:42
X86ISA::APIC_CURRENT_COUNT
@ APIC_CURRENT_COUNT
Definition: apic.hh:64
X86ISA::APIC_INTERRUPT_COMMAND_HIGH
@ APIC_INTERRUPT_COMMAND_HIGH
Definition: apic.hh:56
X86ISA::APIC_LVT_LINT1
@ APIC_LVT_LINT1
Definition: apic.hh:61
X86ISA::APIC_LVT_TIMER
@ APIC_LVT_TIMER
Definition: apic.hh:57
X86ISA::APIC_TRIGGER_MODE
static ApicRegIndex APIC_TRIGGER_MODE(int index)
Definition: apic.hh:79
X86ISA::APIC_LVT_ERROR
@ APIC_LVT_ERROR
Definition: apic.hh:62
X86ISA::APIC_INTERRUPT_REQUEST_BASE
@ APIC_INTERRUPT_REQUEST_BASE
Definition: apic.hh:52
X86ISA::APIC_EOI
@ APIC_EOI
Definition: apic.hh:43
X86ISA::APIC_SPURIOUS_INTERRUPT_VECTOR
@ APIC_SPURIOUS_INTERRUPT_VECTOR
Definition: apic.hh:46
X86ISA::trigger
Bitfield< 21 > trigger
Definition: intmessage.hh:48
X86ISA::destination
destination
Definition: intmessage.hh:43
X86ISA::APIC_LVT_LINT0
@ APIC_LVT_LINT0
Definition: apic.hh:60
X86ISA::APIC_LOGICAL_DESTINATION
@ APIC_LOGICAL_DESTINATION
Definition: apic.hh:44
X86ISA::APIC_INITIAL_COUNT
@ APIC_INITIAL_COUNT
Definition: apic.hh:63
X86ISA::deliveryMode
Bitfield< 18, 16 > deliveryMode
Definition: intmessage.hh:45

Generated on Wed Sep 30 2020 14:02:07 for gem5 by doxygen 1.8.17