Clear interrupts on HULK startup just in case
This commit is contained in:
1 parent
66bd51ffb0
commit
b72c69ef1c
2 files changed
+7
No files matched your search
@@ -1,5 +1,10 @@
|
|||||||
import ldc.llvmasm;
|
import ldc.llvmasm;
|
||||||
|
|
||||||
|
void cli()
|
||||||
|
{
|
||||||
|
__asm("cli", "");
|
||||||
|
}
|
||||||
|
|
||||||
ulong read_cr0()
|
ulong read_cr0()
|
||||||
{
|
{
|
||||||
return __asm!ulong("mov %cr0, %rax", "={rax}");
|
return __asm!ulong("mov %cr0, %rax", "={rax}");
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import hulk.hurl;
|
|||||||
import hulk.hippo;
|
import hulk.hippo;
|
||||||
import hulk.pci;
|
import hulk.pci;
|
||||||
import hulk.gdt;
|
import hulk.gdt;
|
||||||
|
import hos.cpu;
|
||||||
|
|
||||||
extern extern(C) __gshared ubyte _hulk_total_size;
|
extern extern(C) __gshared ubyte _hulk_total_size;
|
||||||
|
|
||||||
@@ -32,6 +33,7 @@ private __gshared HulkHeader hulk_header = {
|
|||||||
*/
|
*/
|
||||||
void hulk_start()
|
void hulk_start()
|
||||||
{
|
{
|
||||||
|
cli();
|
||||||
gdt.initialize();
|
gdt.initialize();
|
||||||
fb.initialize(cast(uint *)HULK_VIRTUAL_FRAMEBUFFER_ADDRESS, hulk_header.bootinfo.fb.width, hulk_header.bootinfo.fb.height, hulk_header.bootinfo.fb.stride);
|
fb.initialize(cast(uint *)HULK_VIRTUAL_FRAMEBUFFER_ADDRESS, hulk_header.bootinfo.fb.width, hulk_header.bootinfo.fb.height, hulk_header.bootinfo.fb.stride);
|
||||||
console.initialize();
|
console.initialize();
|
||||||
|
|||||||
Reference in new issue
Block a user