ZLangJIT

Results 58 comments of ZLangJIT

hmm i think i may have found one that more closely resembles rvvm in comparison to qemu unfortunately github complains the repository has not yet been indexed (so we cannot...

unfortunately it seems almost every "virtio-pci" device uses a different interface for registering with the PCI itself https://github.com/isclouder/microv/blob/2992853ddc8cc1328ec2dca8f621ef8c09560807/virtio-pci.c#L253 https://github.com/sysprog21/riscv-emu/blob/7cc6525934fc8983c67b81868c78610f3ad3797b/virtio.c#L220 https://github.com/mhhf/jslinux-truebit/blob/fbd09ab2a7f3a59a010f1ad44b22434ca6d8e88f/src/virtio.c#L220 https://github.com/mirror/vbox/blob/master/src/VBox/Devices/VirtIO/VirtioCore.cpp#L2822 meanwhile RVVM's pci interface is almost entirely different ```c...

https://github.com/tyler274/magenta/blob/3f71c5b1c71a9802d0316a4f51e70da9c0e0014a/system/ulib/hypervisor/virtio.c#L162 hmm this appears to be simpler

OK i found one RVVM contains a Realtek NIC network card that attaches VIA PCI https://github.com/LekKit/RVVM/blob/staging/src/devices/rtl8169.c#L481 and likewise qemu also contains a Realtek NIC network card that attaches VIA PCI...

> I also want to ask you to stop opening more issues because it is very confusing to navigate them, and some questions you asked lately are not easily understandable....

note however virtio is not hooked up to rvvm itself yet also im not sure what the rvvm version of these would be as some exist but others dont ```c...

for such specifics we have ```c void virtio_blk_read(rvvm_hart_t *vm, virtio_blk_state_t *vblk, uint32_t addr, uint8_t width, uint32_t *value) { switch (width) { case RV_MEM_LW: if (!virtio_blk_reg_read(vblk, addr >> 2, value)) riscv_trap(vm,...

> Please see the RVVM API and only then try to adapt anything. > > Devices should not touch CPU specifics directly, like load/store instruction opcodes, registers. Devices should not...

in main.c of `semu/bb98469f47b09324561970e91c49a58ab038a176` we currently have these references of `virtio` and `virgl` ```c #if SEMU_HAS(VIRTIONET) static void emu_update_vnet_interrupts(vm_t *vm) { emu_state_t *data = PRIV(vm->hart[0]); if (data->vnet.InterruptStatus) data->plic.active |= IRQ_VNET_BIT;...