[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH RFC 00/23] Impelment virtio_mmio and pci ecam controller for arm64 kvm plat



Hi Felipe, thank you very much for your testing and comments.

And sorry for the late response.

On 2020/3/13 18:00, Felipe Huici wrote:
Hi Justin,

Thanks so much for the series, it's great to have networking going on arm64! 
I've tested it against http reply and it works fine. However, I have a number 
of issues with the series:

1. It doesn't build against newlib, which precludes running a large set of 
applications (e.g., Redis, nginx, sqlite, etc.). The fix here is simple:
Yes, I only tested it with nolibc, will fix it when building against newlib 
soon.
diff --git a/lib/fdt/fdt_addresses.c b/lib/fdt/fdt_addresses.c
index b362b41..30c7ff5 100644
--- a/lib/fdt/fdt_addresses.c
+++ b/lib/fdt/fdt_addresses.c
@@ -60,7 +60,7 @@

  int fdt_address_cells(const void *fdt, int nodeoffset)
  {
-       __u32 cells;
+       uint32_t cells;
         int parent;
         int off = nodeoffset;
         int *prop;
@@ -81,7 +81,7 @@ int fdt_address_cells(const void *fdt, int nodeoffset)

  int fdt_size_cells(const void *fdt, int nodeoffset)
  {
-       __u32 cells;
+       uint32_t cells;
         int parent;
         int off = nodeoffset;
         int *prop;

2. I get a large number of (spurious?) error messages such as:

[    0.036700] ERR:  [libkvmpf] platform_bus.c @ 180  : Platform Failed to 
initialize device driver, ret(-19)

Things work despite these, should these really be errors?
No, they aren't errors. Will fix it in next version
3. There's a large number of compilation warnings (too many to list here)
Will fix it
4. When setting ukdebug's Kernel message level to "Show all types of messages" 
I get a register dump during boot:

[    0.073966] Info: [libkvmpci] pci_ecam.c @ 370  :  -> imaplen=90
[    0.074064] Info: [libkvmpci] pci_ecam.c @ 325  :  -> match=0 (imaplen=86)
[    0.075033] Info: [libkvmpci] pci_ecam.c @ 370  :  -> imaplen=80
[    0.075131] Info: [libkvmpci] pci_ecam.c @ 325  :  -> match=1 (imaplen=76)
[    0.076096] Info: [libkvmpci] pci_ecam.c @ 370  :  -> imaplen=70
[    0.076193] Info: [libkvmpci] pci_ecam.c @ 388  :  -> new parent: 0x175cOF
[    0.076313] Info: [libkvmpci] pci_ecam.c @ 289  :  -> got it !
[    0.076417] Info: [libkvmpci] pci_bus_arm64.c @ 100  : pci dev 
base(0x3eff0040) irq(37)
[    0.076547] Info: [libkvmvirtio] virtio_pci.c @ 379  : Added virtio-pci 
device 1009
[    0.076668] Info: [libkvmvirtio] virtio_pci.c @ 381  : Added virtio-pci 
subsystem_device_id 0009
[    0.076885] Info: [libkvmvirtio] virtio_bus.c @ 129  : Virtio device 
0x7ffc3010 initialized
[    0.077322] CRIT: [libkvmplat] traps.c @ 67   : Unikraft: EL1 sync trap 
caught
[    0.077468] CRIT: [libkvmplat] traps.c @ 39   : Unikraft: Dump registers:
[    0.077598] CRIT: [libkvmplat] traps.c @ 40   : SP       : 0x00000000402cfce0
ESR_EL1  : 0x0000000096000010
ELR_EL1  : 0x0000000040106a88
LR (x30) : 0x000000004010a13c
PSTATE   : 0x0000000020000345
FAR_EL1  : 0x000000003eff0060
x00 ~ x03: 0x000000003eff0060 0x000000003eff0056 0x000000007ffd0010 
0x000000000000ff03
[    0.078162] CRIT: [libkvmplat] traps.c @ 50   : x04 ~ x07: 
0x00000000000000ff 0xffffffffc100ffaa 0x000000000000ff03 0x00000000402cfe00
[    0.078363] CRIT: [libkvmplat] traps.c @ 50   : x08 ~ x11: 
0x00000000012dfdaa 0x000000003effff59 0x0000000000000000 0x0000000000000016
[    0.078556] CRIT: [libkvmplat] traps.c @ 50   : x12 ~ x15: 
0x000000003eff0040 0x00000000402dfd10 0x0000000000000000 0x0000000000000000
[    0.078752] CRIT: [libkvmplat] traps.c @ 50   : x16 ~ x19: 
0x000000000000000a 0x0000000000000000 0x0000000000000000 0x000000007ffc4010
[    0.078945] CRIT: [libkvmplat] traps.c @ 50   : x20 ~ x23: 
0x0000000079000001 0x000000004026d000 0x0000000000000001 0x0000000000000001
[    0.079143] CRIT: [libkvmplat] traps.c @ 50   : x24 ~ x27: 
0x000000004023e000 0x000000004023e000 0x0000000040257168 0x0000020000000000
[    0.079356] CRIT: [libkvmplat] traps.c @ 53   : x28 ~ x29: 
0x000000004023e000 0x00000000402dfd10
[    0.079513] Info: [libkvmplat] shutdown.c @ 35   : Unikraft halted

I never saw this error in my local test env. Could you please share your

qemu command line ?

5. I've tested the series against nginx: it inits fine, and I can ping the 
network stack, but nginx itself doesn't reply to HTTP/wget requests, not sure 
why...please let me know if you'd like to replicate this.

Could you also give me some instructions about how to

setup the nginx. In my local test, I used a remote browser (firefox) to get the

webpage in unikraft httpreply app.

---
Cheers,
Justin (Jia He)




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.