i82094aa.hh (5651:7f0c8006c3d7) i82094aa.hh (5657:7539092b28ac)
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;

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

35#include "base/range_map.hh"
36#include "dev/io_device.hh"
37#include "dev/x86/intdev.hh"
38#include "params/I82094AA.hh"
39
40namespace X86ISA
41{
42
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;

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

35#include "base/range_map.hh"
36#include "dev/io_device.hh"
37#include "dev/x86/intdev.hh"
38#include "params/I82094AA.hh"
39
40namespace X86ISA
41{
42
43class I8259;
44
43class I82094AA : public PioDevice, public IntDev
44{
45 public:
46 BitUnion64(RedirTableEntry)
47 Bitfield<63, 32> topDW;
48 Bitfield<55, 32> topReserved;
49 Bitfield<31, 0> bottomDW;
50 Bitfield<31, 17> bottomReserved;

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

55 Bitfield<13> polarity;
56 Bitfield<12> deliveryStatus;
57 Bitfield<11> destMode;
58 Bitfield<10, 8> deliveryMode;
59 Bitfield<7, 0> vector;
60 EndBitUnion(RedirTableEntry)
61
62 protected:
45class I82094AA : public PioDevice, public IntDev
46{
47 public:
48 BitUnion64(RedirTableEntry)
49 Bitfield<63, 32> topDW;
50 Bitfield<55, 32> topReserved;
51 Bitfield<31, 0> bottomDW;
52 Bitfield<31, 17> bottomReserved;

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

57 Bitfield<13> polarity;
58 Bitfield<12> deliveryStatus;
59 Bitfield<11> destMode;
60 Bitfield<10, 8> deliveryMode;
61 Bitfield<7, 0> vector;
62 EndBitUnion(RedirTableEntry)
63
64 protected:
63 System * system;
64 Tick latency;
65 Addr pioAddr;
66
65 Tick latency;
66 Addr pioAddr;
67
68 I8259 * extIntPic;
69
67 uint8_t regSel;
68 uint8_t id;
69 uint8_t arbId;
70
71 static const uint8_t TableSize = 24;
72 // This implementation is based on version 0x11, but 0x14 avoids having
73 // to deal with the arbitration and APIC bus guck.
74 static const uint8_t APICVersion = 0x14;

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

81 const Params *
82 params() const
83 {
84 return dynamic_cast<const Params *>(_params);
85 }
86
87 I82094AA(Params *p);
88
70 uint8_t regSel;
71 uint8_t id;
72 uint8_t arbId;
73
74 static const uint8_t TableSize = 24;
75 // This implementation is based on version 0x11, but 0x14 avoids having
76 // to deal with the arbitration and APIC bus guck.
77 static const uint8_t APICVersion = 0x14;

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

84 const Params *
85 params() const
86 {
87 return dynamic_cast<const Params *>(_params);
88 }
89
90 I82094AA(Params *p);
91
92 void
93 setExtIntPic(I8259 * pic)
94 {
95 extIntPic = pic;
96 }
97
89 Tick read(PacketPtr pkt);
90 Tick write(PacketPtr pkt);
91
92 void addressRanges(AddrRangeList &range_list)
93 {
94 range_list.clear();
95 range_list.push_back(RangeEx(pioAddr, pioAddr + 4));
96 range_list.push_back(RangeEx(pioAddr + 16, pioAddr + 20));

--- 25 unchanged lines hidden ---
98 Tick read(PacketPtr pkt);
99 Tick write(PacketPtr pkt);
100
101 void addressRanges(AddrRangeList &range_list)
102 {
103 range_list.clear();
104 range_list.push_back(RangeEx(pioAddr, pioAddr + 4));
105 range_list.push_back(RangeEx(pioAddr + 16, pioAddr + 20));

--- 25 unchanged lines hidden ---