diff --git a/kaleid/kernel/cpu/rtc.c b/kaleid/kernel/cpu/rtc.c
new file mode 100644
index 0000000..840cc80
--- /dev/null
+++ b/kaleid/kernel/cpu/rtc.c
@@ -0,0 +1,41 @@
+//----------------------------------------------------------------------------//
+// GNU GPL OS/K //
+// //
+// Desc: Interrupt related functions //
+// //
+// //
+// Copyright © 2018-2019 The OS/K Team //
+// //
+// This file is part of OS/K. //
+// //
+// OS/K is free software: you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation, either version 3 of the License, or //
+// any later version. //
+// //
+// OS/K is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY//without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with OS/K. If not, see . //
+//----------------------------------------------------------------------------//
+
+#include
+#include
+#include
+
+void CpuEnableRtc(void)
+{
+ ulong flags = KePauseIRQs();
+ // Setting up the register control
+ IoWriteByteOnPort(0x70, 0x8A); //selects status reg A and DISABLE NMI
+ IoWriteByteOnPort(0x71, 0x20);
+ //Enabling the IRQ 8
+ IoWriteByteOnPort(0x70, 0x8B);
+ char read = IoReadByteFromPort(0x71); // Because read causes reset
+ IoWriteByteOnPort(0x70, 0x8B);
+ IoWriteByteOnPort(0x71, read | 0x40);
+ KeRestoreIRQs(flags);
+}
diff --git a/kaleid/kernel/io/keyb.asm b/kaleid/kernel/io/keyb.asm
new file mode 100644
index 0000000..a1b4075
--- /dev/null
+++ b/kaleid/kernel/io/keyb.asm
@@ -0,0 +1,67 @@
+;=----------------------------------------------------------------------------=;
+; GNU GPL OS/K ;
+; ;
+; Desc: Basic Read Only Keyboard Driver ;
+; (x86_64 architecture only) ;
+; ;
+; ;
+; Copyright © 2018-2019 The OS/K Team ;
+; ;
+; This file is part of OS/K. ;
+; ;
+; OS/K is free software: you can redistribute it and/or modify ;
+; it under the terms of the GNU General Public License as published by ;
+; the Free Software Foundation, either version 3 of the License, or ;
+; (at your option) any later version. ;
+; ;
+; OS/K is distributed in the hope that it will be useful, ;
+; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
+; GNU General Public License for more details. ;
+; ;
+; You should have received a copy of the GNU General Public License ;
+; along with OS/K. If not, see . ;
+;=----------------------------------------------------------------------------=;
+
+global KeybIsr
+extern KeybHandler
+
+%macro pushAll 0
+ push rax
+ push rcx
+ push rdx
+ push rbx
+ push rbp
+ push rsi
+ push rdi
+%endmacro
+
+%macro popAll 0
+ pop rdi
+ pop rsi
+ pop rbp
+ pop rbx
+ pop rdx
+ pop rcx
+ pop rax
+%endmacro
+
+;;
+;; Keyboard handler
+;;
+KeybIsr:
+ cli
+ pushAll
+
+ xor rax, rax
+ mov ax, ds
+ push rax
+
+ call KeybHandler
+
+ pop rax
+ mov ds, ax
+
+ popAll
+ sti
+ iretq
diff --git a/kaleid/kernel/io/keyb.c b/kaleid/kernel/io/keyb.c
new file mode 100644
index 0000000..8daf699
--- /dev/null
+++ b/kaleid/kernel/io/keyb.c
@@ -0,0 +1,26 @@
+//----------------------------------------------------------------------------//
+// GNU GPL OS/K //
+// //
+// Desc: Basic Read Only Keyboard Driver //
+// //
+// //
+// Copyright © 2018-2019 The OS/K Team //
+// //
+// This file is part of OS/K. //
+// //
+// OS/K is free software: you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation, either version 3 of the License, or //
+// any later version. //
+// //
+// OS/K is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY//without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with OS/K. If not, see . //
+//----------------------------------------------------------------------------//
+
+#include
+#include