git-svn-id: https://spexeah.com:8443/svn/Asuro@472 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
c56319923a
commit
c477deefb2
6 files changed
+3
-13
No files matched your search
@@ -0,0 +1,67 @@
|
||||
{ ************************************************
|
||||
* Asuro
|
||||
* Unit: bios_data_area
|
||||
* Description: Data Structures controlled by
|
||||
* the BIOS.
|
||||
************************************************
|
||||
* Author: K Morris
|
||||
* Contributors:
|
||||
************************************************ }
|
||||
|
||||
unit bios_data_area;
|
||||
|
||||
interface
|
||||
|
||||
type
|
||||
TBDA = bitpacked record
|
||||
COM1 : uint16;
|
||||
COM2 : uint16;
|
||||
COM3 : uint16;
|
||||
COM4 : uint16;
|
||||
LPT1 : uint16;
|
||||
LPT2 : uint16;
|
||||
LPT3 : uint16;
|
||||
EBDA : uint16;
|
||||
Hardware_Flags : uint16;
|
||||
Keyboard_Flags : uint16;
|
||||
Keyboard_Buffer : ARRAY[0..31] OF uint8;
|
||||
Display_Mode : uint8;
|
||||
BaseIO : uint16;
|
||||
Ticks : uint16;
|
||||
HDD_Count : uint8;
|
||||
Keyboard_Start : uint16;
|
||||
Keyboard_End : uint16;
|
||||
Keyboard_State : uint8;
|
||||
end;
|
||||
PBDA = ^TBDA;
|
||||
|
||||
TMCFG = bitpacked record
|
||||
Signature : Array[0..3] of Char;
|
||||
Table_Length : uint32;
|
||||
Revision : Byte;
|
||||
Checksum : Byte;
|
||||
OEM_ID : Array[0..5] of Byte;
|
||||
OEM_Table_ID : uint64;
|
||||
OEM_Revision : uint32;
|
||||
Creator_ID : uint32;
|
||||
Creator_Revision : uint32;
|
||||
Reserved : uint64;
|
||||
end;
|
||||
PMCFG = ^TMCFG;
|
||||
|
||||
const
|
||||
BDA : PBDA = PBDA($C0000400);
|
||||
|
||||
procedure tick_update(data : void);
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
console, vmemorymanager;
|
||||
|
||||
procedure tick_update(data : void);
|
||||
begin
|
||||
BDA^.Ticks:= BDA^.Ticks + 1;
|
||||
end;
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,63 @@
|
||||
{ ************************************************
|
||||
* Asuro
|
||||
* Unit: Multiboot
|
||||
* Description: Mutliboot (GRUB) Structures.
|
||||
************************************************
|
||||
* Author: K Morris
|
||||
* Contributors:
|
||||
************************************************ }
|
||||
|
||||
unit multiboot;
|
||||
|
||||
interface
|
||||
|
||||
const
|
||||
KERNEL_STACKSIZE = $4000;
|
||||
MULTIBOOT_BOOTLOADER_MAGIC = $2BADB002;
|
||||
|
||||
type
|
||||
Pelf_section_header_table_t = ^elf_section_header_table_t;
|
||||
elf_section_header_table_t = packed record
|
||||
num: uint32;
|
||||
size: uint32;
|
||||
addr: uint32;
|
||||
shndx: uint32;
|
||||
end;
|
||||
|
||||
Pmultiboot_info_t = ^multiboot_info_t;
|
||||
multiboot_info_t = packed record
|
||||
flags: uint32;
|
||||
mem_lower: uint32;
|
||||
mem_upper: uint32;
|
||||
boot_device: uint32;
|
||||
cmdline: uint32;
|
||||
mods_count: uint32;
|
||||
mods_addr: uint32;
|
||||
elf_sec: elf_section_header_table_t;
|
||||
mmap_length: uint32;
|
||||
mmap_addr: uint32;
|
||||
end;
|
||||
|
||||
Pmodule_t = ^module_t;
|
||||
module_t = packed record
|
||||
mod_start: uint32;
|
||||
mod_end: uint32;
|
||||
name: uint32;
|
||||
reserved: uint32;
|
||||
end;
|
||||
|
||||
Pmemory_map_t = ^memory_map_t;
|
||||
memory_map_t = packed record
|
||||
size: uint32;
|
||||
base_addr : uint64;
|
||||
length : uint64;
|
||||
mtype: uint32;
|
||||
end;
|
||||
|
||||
var
|
||||
multibootinfo : Pmultiboot_info_t = nil;
|
||||
multibootmagic : uint32;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user