add ctrl alt del
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "ioapic.h"
|
||||
#include "apic.h"
|
||||
#include "core.h"
|
||||
#include "../debug/assert.h"
|
||||
|
||||
namespace IOAPIC {
|
||||
/*! \brief IOAPIC registers memory mapped into the CPU's address space.
|
||||
@@ -60,14 +61,17 @@ void init() {
|
||||
}
|
||||
|
||||
void config(uint8_t slot, Core::Interrupt::Vector vector,
|
||||
TriggerMode trigger_mode, Polarity polarity) {
|
||||
(void)slot;
|
||||
(void)vector;
|
||||
(void)trigger_mode;
|
||||
(void)polarity;
|
||||
TriggerMode trigger_mode, Polarity polarity) {
|
||||
assert(slot < slot_max);
|
||||
RedirectionTableEntry entry = readEntry(slot);
|
||||
entry.vector = vector;
|
||||
entry.trigger_mode = trigger_mode;
|
||||
entry.polarity = polarity;
|
||||
writeEntry(slot, entry);
|
||||
}
|
||||
|
||||
void allow(uint8_t slot) { (void)slot; }
|
||||
void allow(uint8_t slot) {
|
||||
}
|
||||
|
||||
void forbid(uint8_t slot) { (void)slot; }
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "ps2controller.h"
|
||||
|
||||
#include "../arch/system.h"
|
||||
#include "../arch/core_interrupt.h"
|
||||
#include "../arch/ioport.h"
|
||||
#include "../compiler/fix.h"
|
||||
@@ -120,6 +121,9 @@ bool fetch(Key &pressed) {
|
||||
return false;
|
||||
|
||||
pressed = key_decoder.decode(out_buffer);
|
||||
|
||||
if (pressed.ctrl() && pressed.alt() && pressed.scancode == Key::KEY_DEL)
|
||||
System::reboot();
|
||||
|
||||
if (pressed.alt() || pressed.ctrl() || !pressed.valid())
|
||||
return false;
|
||||
|
||||
9
main.cc
9
main.cc
@@ -10,6 +10,8 @@
|
||||
#include "device/serialstream.h"
|
||||
#include "device/textstream.h"
|
||||
#include "device/ps2controller.h"
|
||||
#include "arch/ioapic.h"
|
||||
|
||||
TextStream kout = TextStream(0, 80, 0, 10, true);
|
||||
|
||||
//TextStream dout[8] = {
|
||||
@@ -55,6 +57,9 @@ OutputStream* copyout[Core::MAX]{
|
||||
&dout[7]
|
||||
};
|
||||
|
||||
void test(){
|
||||
kout << "test" << endl << flush;
|
||||
}
|
||||
|
||||
// Main function
|
||||
// (the bootstrap processor starts here)}
|
||||
@@ -112,6 +117,10 @@ extern "C" int main() {
|
||||
ApplicationProcessor::boot();
|
||||
|
||||
PS2Controller::init();
|
||||
|
||||
IOAPIC::init();
|
||||
//IOAPIC::config(Core::Interrupt::KEYBOARD, Core::Interrupt::Vector vect);
|
||||
|
||||
Core::Interrupt::enable();
|
||||
|
||||
Key key = Key();
|
||||
|
||||
Reference in New Issue
Block a user