uint32 26 kernel/elf.h uint32 type; uint32 27 kernel/elf.h uint32 flags; uint32 15 kernel/plic.c *(uint32*)(PLIC + UART0_IRQ*4) = 1; uint32 16 kernel/plic.c *(uint32*)(PLIC + VIRTIO0_IRQ*4) = 1; uint32 26 kernel/plic.c *(uint32*)PLIC_SENABLE(hart) = (1 << UART0_IRQ) | (1 << VIRTIO0_IRQ); uint32 29 kernel/plic.c *(uint32*)PLIC_SPRIORITY(hart) = 0; uint32 37 kernel/plic.c int irq = *(uint32*)PLIC_SCLAIM(hart); uint32 46 kernel/plic.c *(uint32*)PLIC_SCLAIM(hart) = irq; uint32 55 kernel/virtio.h uint32 len; uint32 73 kernel/virtio.h uint32 id; // index of start of completed descriptor chain uint32 74 kernel/virtio.h uint32 len; uint32 93 kernel/virtio.h uint32 type; // VIRTIO_BLK_T_IN or ..._OUT uint32 94 kernel/virtio.h uint32 reserved; uint32 20 kernel/virtio_disk.c #define R(r) ((volatile uint32 *)(VIRTIO0 + (r))) uint32 64 kernel/virtio_disk.c uint32 status = 0; uint32 114 kernel/virtio_disk.c uint32 max = *R(VIRTIO_MMIO_QUEUE_NUM_MAX);