summaryrefslogtreecommitdiffhomepage
path: root/dev/ZBAKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-06 08:50:56 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-06 08:50:56 +0100
commitdae34fe2db8827de776396c979c2bf79681edb9a (patch)
tree3ef2d0bfab9883eef04f179ffb50157e5d6a59df /dev/ZBAKit
parent78a639520307fef30e43ee7e2f1db058c3caba8a (diff)
IMP: A set of WiP for the process scheduler.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZBAKit')
-rw-r--r--dev/ZBAKit/BootKit/BootKit.h10
-rw-r--r--dev/ZBAKit/amd64-efi.make2
-rw-r--r--dev/ZBAKit/arm64-efi.make2
-rw-r--r--dev/ZBAKit/src/HEL/AMD64/BootATA.cc50
-rw-r--r--dev/ZBAKit/src/HEL/AMD64/BootPlatform.cc12
5 files changed, 38 insertions, 38 deletions
diff --git a/dev/ZBAKit/BootKit/BootKit.h b/dev/ZBAKit/BootKit/BootKit.h
index 6448fcd1..1d312d41 100644
--- a/dev/ZBAKit/BootKit/BootKit.h
+++ b/dev/ZBAKit/BootKit/BootKit.h
@@ -162,12 +162,12 @@ namespace Boot
* Common processor instructions.
*/
- EXTERN_C void Out8(UInt16 port, UInt8 value);
- EXTERN_C void Out16(UInt16 port, UInt16 value);
- EXTERN_C void Out32(UInt16 port, UInt32 value);
- EXTERN_C UInt8 In8(UInt16 port);
+ EXTERN_C void rt_out8(UInt16 port, UInt8 value);
+ EXTERN_C void rt_out16(UInt16 port, UInt16 value);
+ EXTERN_C void rt_out32(UInt16 port, UInt32 value);
+ EXTERN_C UInt8 rt_in8(UInt16 port);
EXTERN_C UInt16 In16(UInt16 port);
- EXTERN_C UInt32 In32(UInt16 port);
+ EXTERN_C UInt32 rt_in32(UInt16 port);
EXTERN_C void rt_hlt();
EXTERN_C void rt_cli();
diff --git a/dev/ZBAKit/amd64-efi.make b/dev/ZBAKit/amd64-efi.make
index 311c50cb..a27293ce 100644
--- a/dev/ZBAKit/amd64-efi.make
+++ b/dev/ZBAKit/amd64-efi.make
@@ -34,7 +34,7 @@ EMU_FLAGS=-net none -smp 4 -m 8G -M q35 \
file=fat:rw:src/Root/,index=2,format=raw \
-drive id=disk_2,file=$(IMG),if=none \
-device ahci,id=ahci \
- -device ide-hd,drive=disk_2,bus=ahci.0 -serial stdio
+ -device ide-hd,drive=disk_2,bus=ahci.0 -d int
LD_FLAGS=-e Main --subsystem=10
diff --git a/dev/ZBAKit/arm64-efi.make b/dev/ZBAKit/arm64-efi.make
index 00496a4e..78cd26e9 100644
--- a/dev/ZBAKit/arm64-efi.make
+++ b/dev/ZBAKit/arm64-efi.make
@@ -33,7 +33,7 @@ EMU_FLAGS=-net none -smp 4 -m 8G -cpu max -M virt-9.1 \
-drive \
file=fat:rw:src/Root/,index=1,format=raw \
-device virtio-tablet-pci \
- -d int -no-shutdown -no-reboot -device virtio-gpu-pci,xres=844,yres=390
+ -d int -no-shutdown -no-reboot -device virtio-gpu-pci,xres=844,yres=390 -serial stdio
LD_FLAGS=-subsystem:efi_application -entry:Main /nodefaultlib
diff --git a/dev/ZBAKit/src/HEL/AMD64/BootATA.cc b/dev/ZBAKit/src/HEL/AMD64/BootATA.cc
index f83a4ade..758ec18e 100644
--- a/dev/ZBAKit/src/HEL/AMD64/BootATA.cc
+++ b/dev/ZBAKit/src/HEL/AMD64/BootATA.cc
@@ -34,16 +34,16 @@ Boolean boot_ata_detected(Void);
STATIC Boolean boot_ata_wait_io(UInt16 IO)
{
for (int i = 0; i < 400; i++)
- In8(IO + ATA_REG_STATUS);
+ rt_in8(IO + ATA_REG_STATUS);
ATAWaitForIO_Retry:
- auto statRdy = In8(IO + ATA_REG_STATUS);
+ auto statRdy = rt_in8(IO + ATA_REG_STATUS);
if ((statRdy & ATA_SR_BSY))
goto ATAWaitForIO_Retry;
ATAWaitForIO_Retry2:
- statRdy = In8(IO + ATA_REG_STATUS);
+ statRdy = rt_in8(IO + ATA_REG_STATUS);
if (statRdy & ATA_SR_ERR)
return false;
@@ -57,9 +57,9 @@ ATAWaitForIO_Retry2:
Void boot_ata_select(UInt16 Bus)
{
if (Bus == ATA_PRIMARY_IO)
- Out8(Bus + ATA_REG_HDDEVSEL, ATA_PRIMARY_SEL);
+ rt_out8(Bus + ATA_REG_HDDEVSEL, ATA_PRIMARY_SEL);
else
- Out8(Bus + ATA_REG_HDDEVSEL, ATA_SECONDARY_SEL);
+ rt_out8(Bus + ATA_REG_HDDEVSEL, ATA_SECONDARY_SEL);
}
Boolean boot_ata_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMaster)
@@ -74,11 +74,11 @@ Boolean boot_ata_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMaster)
boot_ata_select(IO);
// Bus init, NEIN bit.
- Out8(IO + ATA_REG_NEIN, 1);
+ rt_out8(IO + ATA_REG_NEIN, 1);
// identify until it's good.
ATAInit_Retry:
- auto statRdy = In8(IO + ATA_REG_STATUS);
+ auto statRdy = rt_in8(IO + ATA_REG_STATUS);
if (statRdy & ATA_SR_ERR)
{
@@ -91,7 +91,7 @@ ATAInit_Retry:
if ((statRdy & ATA_SR_BSY))
goto ATAInit_Retry;
- Out8(IO + ATA_REG_COMMAND, ATA_CMD_IDENTIFY);
+ rt_out8(IO + ATA_REG_COMMAND, ATA_CMD_IDENTIFY);
/// fetch serial info
/// model, speed, number of sectors...
@@ -100,7 +100,7 @@ ATAInit_Retry:
for (SizeT indexData = 0ul; indexData < kATADataLen; ++indexData)
{
- kATAData[indexData] = In16(IO + ATA_REG_DATA);
+ kATAData[indexData] = Kernel::HAL::rt_in16(IO + ATA_REG_DATA);
}
OutBus =
@@ -120,23 +120,23 @@ Void boot_ata_read(UInt64 Lba, UInt16 IO, UInt8 Master, CharacterTypeUTF8* Buf,
boot_ata_wait_io(IO);
boot_ata_select(IO);
- Out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
+ rt_out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
- Out8(IO + ATA_REG_SEC_COUNT0, ((Size + SectorSz) / SectorSz));
+ rt_out8(IO + ATA_REG_SEC_COUNT0, ((Size + SectorSz) / SectorSz));
- Out8(IO + ATA_REG_LBA0, (Lba) & 0xFF);
- Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
- Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
- Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
+ rt_out8(IO + ATA_REG_LBA0, (Lba) & 0xFF);
+ rt_out8(IO + ATA_REG_LBA1, (Lba) >> 8);
+ rt_out8(IO + ATA_REG_LBA2, (Lba) >> 16);
+ rt_out8(IO + ATA_REG_LBA3, (Lba) >> 24);
- Out8(IO + ATA_REG_COMMAND, ATA_CMD_READ_PIO);
+ rt_out8(IO + ATA_REG_COMMAND, ATA_CMD_READ_PIO);
boot_ata_wait_io(IO);
for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff)
{
boot_ata_wait_io(IO);
- Buf[IndexOff] = In16(IO + ATA_REG_DATA);
+ Buf[IndexOff] = Kernel::HAL::rt_in16(IO + ATA_REG_DATA);
boot_ata_wait_io(IO);
}
}
@@ -150,23 +150,23 @@ Void boot_ata_write(UInt64 Lba, UInt16 IO, UInt8 Master, CharacterTypeUTF8* Buf,
boot_ata_wait_io(IO);
boot_ata_select(IO);
- Out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
+ rt_out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
- Out8(IO + ATA_REG_SEC_COUNT0, ((Size + (SectorSz)) / SectorSz));
+ rt_out8(IO + ATA_REG_SEC_COUNT0, ((Size + (SectorSz)) / SectorSz));
- Out8(IO + ATA_REG_LBA0, (Lba) & 0xFF);
- Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
- Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
- Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
+ rt_out8(IO + ATA_REG_LBA0, (Lba) & 0xFF);
+ rt_out8(IO + ATA_REG_LBA1, (Lba) >> 8);
+ rt_out8(IO + ATA_REG_LBA2, (Lba) >> 16);
+ rt_out8(IO + ATA_REG_LBA3, (Lba) >> 24);
- Out8(IO + ATA_REG_COMMAND, ATA_CMD_WRITE_PIO);
+ rt_out8(IO + ATA_REG_COMMAND, ATA_CMD_WRITE_PIO);
boot_ata_wait_io(IO);
for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff)
{
boot_ata_wait_io(IO);
- Out16(IO + ATA_REG_DATA, Buf[IndexOff]);
+ rt_out16(IO + ATA_REG_DATA, Buf[IndexOff]);
boot_ata_wait_io(IO);
}
}
diff --git a/dev/ZBAKit/src/HEL/AMD64/BootPlatform.cc b/dev/ZBAKit/src/HEL/AMD64/BootPlatform.cc
index 1d376e59..e1ed42d1 100644
--- a/dev/ZBAKit/src/HEL/AMD64/BootPlatform.cc
+++ b/dev/ZBAKit/src/HEL/AMD64/BootPlatform.cc
@@ -38,7 +38,7 @@ EXTERN_C void rt_std()
asm volatile("std");
}
-EXTERN_C void Out8(UInt16 port, UInt8 value)
+EXTERN_C void rt_out8(UInt16 port, UInt8 value)
{
asm volatile("outb %%al, %1"
:
@@ -46,7 +46,7 @@ EXTERN_C void Out8(UInt16 port, UInt8 value)
: "memory");
}
-EXTERN_C void Out16(UInt16 port, UInt16 value)
+EXTERN_C void rt_out16(UInt16 port, UInt16 value)
{
asm volatile("outw %%ax, %1"
:
@@ -54,7 +54,7 @@ EXTERN_C void Out16(UInt16 port, UInt16 value)
: "memory");
}
-EXTERN_C void Out32(UInt16 port, UInt32 value)
+EXTERN_C void rt_out32(UInt16 port, UInt32 value)
{
asm volatile("outl %%eax, %1"
:
@@ -62,7 +62,7 @@ EXTERN_C void Out32(UInt16 port, UInt32 value)
: "memory");
}
-EXTERN_C UInt8 In8(UInt16 port)
+EXTERN_C UInt8 rt_in8(UInt16 port)
{
UInt8 value;
asm volatile("inb %1, %%al"
@@ -73,7 +73,7 @@ EXTERN_C UInt8 In8(UInt16 port)
return value;
}
-EXTERN_C UInt16 In16(UInt16 port)
+EXTERN_C UInt16 rt_in16(UInt16 port)
{
UInt16 value;
asm volatile("inw %%dx, %%ax"
@@ -83,7 +83,7 @@ EXTERN_C UInt16 In16(UInt16 port)
return value;
}
-EXTERN_C UInt32 In32(UInt16 port)
+EXTERN_C UInt32 rt_in32(UInt16 port)
{
UInt32 value;
asm volatile("inl %1, %%eax"