We don't, but I'll change that in a later commit. That's the only way I know of for MMIO. Specifically this is because there is no device discovery mechanism for MMIO. As to whether we have to use cmdline parameters or not I'm not sure.
On Fri, May 20, 2016 at 12:35 PM Barret Rhoden <[email protected]> wrote: > Hi - > > On 2016-05-19 at 15:05 [email protected] wrote: > > the change is on my branch virtio-net > > > > https://github.com/ganshun/akaros/compare/master...virtio-net > > > > The following changes since commit > 89a2f284c121e537a97b85ad3d7e1832f0a7ab81: > > > > More it's to its and whitespaces. (2016-05-18 18:25:41 -0400) > > > > are available in the git repository at: > > > > [email protected]:GanShun/akaros.git virtio-net > > > Looks good overall, enough to merge. Just one minor question below for > future work. > > Merged to master at fd49c36d24e6..d04efcdab130 (from, to] > > You can see the entire diff with 'git diff' or at > https://github.com/brho/akaros/compare/fd49c36d24e6...d04efcdab130 > > > > > From 2425ab3654538bdc213f8421bc70912bbb71f429 Mon Sep 17 00:00:00 2001 > > From: Gan Shun <[email protected]> > > Date: Tue, 17 May 2016 15:58:33 -0700 > > Subject: Handle multiple virtio mmio devices. > > > diff --git a/tests/vmm/vmrunkernel.c b/tests/vmm/vmrunkernel.c > > > @@ -622,11 +616,14 @@ int main(int argc, char **argv) > > fprintf(stderr, "kernbase for pml4 is 0x%llx and entry is %llx\n", > kernbase, entry); > > fprintf(stderr, "p512 %p p512[0] is 0x%lx p1 %p p1[0] is 0x%x\n", > p512, p512[0], p1, p1[0]); > > > > - vm->virtio_mmio_base = 0x100000000; > > - > > - cons_mmio_dev.addr = vm->virtio_mmio_base; > > + /* The MMIO address of the console device is really the address of > an > > + * unbacked EPT page: accesses to this page will cause a page > fault that > > + * traps to the host, which will examine the fault, see it was for > the > > + * known MMIO address, and fulfill the MMIO read or write on the > guest's > > + * behalf accordingly. */ > > + cons_mmio_dev.addr = 0x100000000; > > Do we have a #define in a virtio header or something that says what this > value is? Same goes for any future virtio devices. I know we pass it > to linux via the command line. Is that the standard way of reporting > the location of virtio devices to the guest? > > > cons_mmio_dev.vqdev = &cons_vqdev; > > - vm->cons_mmio_dev = &cons_mmio_dev; > > + vm->virtio_mmio_devices[VIRTIO_MMIO_CONSOLE_DEV] = &cons_mmio_dev; > > > > vmm_run_task(vm, timer_thread, 0); > > > > -- > You received this message because you are subscribed to the Google Groups > "Akaros" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
