29#ifndef __DEV_X86_I8042_HH__
30#define __DEV_X86_I8042_HH__
38#include "params/I8042.hh"
82 Bitfield<7> parityError;
93 Bitfield<6> convertScanCodes;
110 static inline const uint16_t
NoCommand = (uint16_t)(-1);
130 if (if_name ==
"mouse_int_pin")
132 else if (if_name ==
"keyboard_int_pin")
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
This device is the base class which all devices senstive to an address range inherit from.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Ports are used to interface objects to each other.
Bitfield< 5 > disableMouse
Bitfield< 5 > mouseOutputFull
@ WriteKeyboardOutputBuff
void writeData(uint8_t newData, bool mouse=false)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Bitfield< 4 > disableKeyboard
Bitfield< 0 > keyboardFullInt
static const uint16_t NoCommand
EndBitUnion(StatusReg) BitUnion8(CommandByte) Bitfield< 6 > convertScanCodes
BitUnion8(StatusReg) Bitfield< 7 > parityError
std::vector< IntSourcePin< I8042 > * > keyboardIntPin
Bitfield< 3 > commandLast
EndBitUnion(CommandByte) Tick latency=0
Bitfield< 1 > mouseFullInt
std::vector< IntSourcePin< I8042 > * > mouseIntPin
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
Bitfield< 4 > keyboardUnlocked
Bitfield< 2 > passedSelfTest
void serialize(CheckpointOut &cp) const override
Serialize an object.
AddrRangeList getAddrRanges() const override
Every PIO device is obliged to provide an implementation that returns the address ranges the device r...
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
const PortID InvalidPortID
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
uint64_t Tick
Tick count type.