Compare commits

...

2 commits

Author SHA1 Message Date
Able f64f654610 Device work 2024-09-21 19:20:38 -05:00
Able 7d4b12a103 remove debugging info + fix the updating of hbvm 2024-09-21 19:20:14 -05:00
5 changed files with 22 additions and 37 deletions

27
Cargo.lock generated
View file

@ -390,37 +390,24 @@ dependencies = [
[[package]] [[package]]
name = "hbbytecode" name = "hbbytecode"
version = "0.1.0" version = "0.1.0"
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#8e62bd747b88a1db1d07ffa355690fac48977bb2" source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#0e9f4402cb686da817ef876abd764676e262759a"
[[package]]
name = "hbbytecode"
version = "0.1.0"
source = "git+https://git.ablecorp.us/ableos/holey-bytes.git#0d118c17b2d0e770161be834c5452753eb9c34dd"
[[package]] [[package]]
name = "hblang" name = "hblang"
version = "0.1.0" version = "0.1.0"
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#8e62bd747b88a1db1d07ffa355690fac48977bb2" source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#0e9f4402cb686da817ef876abd764676e262759a"
dependencies = [ dependencies = [
"hbbytecode 0.1.0 (git+https://git.ablecorp.us/AbleOS/holey-bytes.git)", "hbbytecode",
"hbvm 0.1.0 (git+https://git.ablecorp.us/AbleOS/holey-bytes.git)", "hbvm",
"regalloc2", "regalloc2",
] ]
[[package]] [[package]]
name = "hbvm" name = "hbvm"
version = "0.1.0" version = "0.1.0"
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#8e62bd747b88a1db1d07ffa355690fac48977bb2" source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#0e9f4402cb686da817ef876abd764676e262759a"
dependencies = [ dependencies = [
"hbbytecode 0.1.0 (git+https://git.ablecorp.us/AbleOS/holey-bytes.git)", "hbbytecode",
]
[[package]]
name = "hbvm"
version = "0.1.0"
source = "git+https://git.ablecorp.us/ableos/holey-bytes.git#0d118c17b2d0e770161be834c5452753eb9c34dd"
dependencies = [
"hbbytecode 0.1.0 (git+https://git.ablecorp.us/ableos/holey-bytes.git)",
] ]
[[package]] [[package]]
@ -599,7 +586,7 @@ dependencies = [
"derive_more", "derive_more",
"embedded-graphics", "embedded-graphics",
"hashbrown", "hashbrown",
"hbvm 0.1.0 (git+https://git.ablecorp.us/ableos/holey-bytes.git)", "hbvm",
"limine", "limine",
"log", "log",
"sbi", "sbi",

View file

@ -6,7 +6,7 @@ version = "0.2.0"
[dependencies] [dependencies]
embedded-graphics = "0.8" embedded-graphics = "0.8"
hbvm.git = "https://git.ablecorp.us/ableos/holey-bytes.git" hbvm.git = "https://git.ablecorp.us/AbleOS/holey-bytes.git"
log = "0.4" log = "0.4"
spin = "0.9" spin = "0.9"
slab = { version = "0.4", default-features = false } slab = { version = "0.4", default-features = false }

View file

@ -106,13 +106,13 @@ pub fn handler(vm: &mut Vm) {
2 => x86_in::<u32>(addr) as u64, 2 => x86_in::<u32>(addr) as u64,
_ => panic!("Trying to read size other than: 8, 16, 32 from port."), _ => panic!("Trying to read size other than: 8, 16, 32 from port."),
}; };
info!("Read the value {} from address {}", value, addr); // info!("Read the value {} from address {}", value, addr);
vm.registers[1] = hbvm::value::Value(value); vm.registers[1] = hbvm::value::Value(value);
}, },
1 => unsafe { 1 => unsafe {
let size = msg_vec[1]; let size = msg_vec[1];
let addr = u16::from_le_bytes(msg_vec[2..4].try_into().unwrap()); let addr = u16::from_le_bytes(msg_vec[2..4].try_into().unwrap());
info!("Setting address {}", addr); // info!("Setting address {}", addr);
match size { match size {
0 => x86_out(addr, msg_vec[4]), 0 => x86_out(addr, msg_vec[4]),
@ -212,7 +212,7 @@ pub fn handler(vm: &mut Vm) {
x86_64::instructions::port::Port::new(address).write(value); x86_64::instructions::port::Port::new(address).write(value);
} }
let x = hbvm::value::Value(unsafe { x86_in(r2 as u16) } as u64); let x = hbvm::value::Value(unsafe { x86_in(r2 as u16) } as u64);
info!("Read {:?} from Port {:?}", x, r2); // info!("Read {:?} from Port {:?}", x, r2);
vm.registers[3] = x vm.registers[3] = x
} }
} }

View file

@ -92,16 +92,14 @@ setup_device := fn(svga_dev: ^SVGADevice): void {
// TODO: Fix this // TODO: Fix this
// refer to https://git.ablecorp.us/able/vmware-svga/src/commit/eea7ddcd0d34702f8f0a33c1933718706c6318c5/lib/refdriver/svga.c#L55 // refer to https://git.ablecorp.us/able/vmware-svga/src/commit/eea7ddcd0d34702f8f0a33c1933718706c6318c5/lib/refdriver/svga.c#L55
svga_dev.pciAddr = PCIAddress.(0, 3, 0) svga_dev.pciAddr = PCIAddress.(0, 3, 0)
/* pci_dev := pci.check_device(0, 3)
pci_id := get_ids(svga_dev.pciAddr.bus, svga_dev.pciAddr.device, svga_dev.pciAddr.function)
if pci_id.vendor != PCI_VENDOR_ID_VMWARE | pci_id.device != PCI_DEVICE_ID_VMWARE_SVGA2 { if pci_dev.device_id.vendor != PCI_VENDOR_ID_VMWARE {
log.error("SVGA device not found\0") log.error("SVGA device not found\0")
return return
} }
*/ //| pci_dev.device_id.device != PCI_DEVICE_ID_VMWARE_SVGA2 {
svga_dev.ioBase = config_read32(svga_dev.pciAddr.bus, svga_dev.pciAddr.device, svga_dev.pciAddr.function, 0x10) & 0xFFFFFFF0 svga_dev.ioBase = config_read32(svga_dev.pciAddr.bus, svga_dev.pciAddr.device, svga_dev.pciAddr.function, 0x10) & 0xFFFFFFF0
write_reg(svga_dev, reg.SVGA_REG_ENABLE, reg.SVGA_REG_ENABLE_ENABLE) write_reg(svga_dev, reg.SVGA_REG_ENABLE, reg.SVGA_REG_ENABLE_ENABLE)

View file

@ -20,14 +20,14 @@ resolution = "1024x768x24"
# [boot.limine.ableos.modules.tests] # [boot.limine.ableos.modules.tests]
# path = "boot:///tests.hbf" # path = "boot:///tests.hbf"
# [boot.limine.ableos.modules.0serial_driver] # [boot.limine.ableos.modules.serial_driver]
# path = "boot:///serial_driver.hbf" # path = "boot:///serial_driver.hbf"
# [boot.limine.ableos.modules.diskio_driver] # [boot.limine.ableos.modules.diskio_driver]
# path = "boot:///diskio_driver.hbf" # path = "boot:///diskio_driver.hbf"
# [boot.limine.ableos.modules.render_example] [boot.limine.ableos.modules.render_example]
# path = "boot:///render_example.hbf" path = "boot:///render_example.hbf"
# [boot.limine.ableos.modules.serial_driver_test] # [boot.limine.ableos.modules.serial_driver_test]
# path = "boot:///serial_driver_test.hbf" # path = "boot:///serial_driver_test.hbf"
@ -41,11 +41,11 @@ resolution = "1024x768x24"
# [boot.limine.ableos.modules.dt_buffer_test] # [boot.limine.ableos.modules.dt_buffer_test]
# path = "boot:///dt_buffer_test.hbf" # path = "boot:///dt_buffer_test.hbf"
[boot.limine.ableos.modules.svga_driver] # [boot.limine.ableos.modules.svga_driver]
path = "boot:///svga_driver.hbf" # path = "boot:///svga_driver.hbf"
# [boot.limine.ableos.modules.ps2_driver] [boot.limine.ableos.modules.ps2_driver]
# path = "boot:///ps2_driver.hbf" path = "boot:///ps2_driver.hbf"
# [boot.limine.ableos.modules.filesystem_fat32] # [boot.limine.ableos.modules.filesystem_fat32]
# path = "boot:///filesystem_fat32.hbf" # path = "boot:///filesystem_fat32.hbf"