[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] Mini-OS on ARM status
Fantastic progress! This should be enough to let me take a shot at getting OCaml on there while you're away. Have a good break... -anil On 28 Apr 2014, at 17:23, Thomas Leonard <talex5@xxxxxxxxx> wrote: > Hi guys, > > I'm on holiday for the next three days. Here's the current status: > > - The shutdown thread now works. Before, it incorrectly detected a > shutdown attempt immediately, but didn't shutdown. Now it waits > correctly and then shuts down the VM using a hypercall. > > - The monotonic timer now works (using the ARM Generic Timer). > > - block_domain now works (using the Virtual Count register and WFI), > allowing it to sleep while waiting for events. > > - The grant table is now initialised (this seems to work quite > differently on ARM). > > - Non-aligned memory access is now allowed (for lwIP). > > With these patches, lwIP can be used and you can ping the VM (you need > to hard-code an IP address in daytime.c too). The above changes have > now been merged into KarimAllah's repository. > > You can now also compile with CONFIG_TEST=y to run the test app (on my > devel branch). This was failing before because it didn't handle > threads exiting, but I've adjusted the code to call thread_exit > automatically if a thread's main function returns. > > With this, it will print out a message once a second: > > T(s=1 us=1859) > T(s=2 us=2072) > T(s=3 us=2276) > ... > > > On 22 April 2014 18:40, Thomas Leonard <talex5@xxxxxxxxx> wrote: >> Hi guys, >> >> A quick status update on this work: >> >> - Output to the regular console now works (before, it could only >> output to the emergency console, which requires Xen to be compiled in >> debug mode). >> >> - I added a simple fault handler that dumps all registers if it gets >> an error (data abort, prefetch abort, undefined instruction, etc). >> That makes debugging easier. >> >> - It now gets the RAM start and size from the FDT passed in by the >> hypervisor (before, it hard-coded the values). This means that the >> full amount of memory assigned to the guest is available to malloc. I >> also fixed a bug in malloc that was corrupting memory (it was >> calculating offsets into its free map incorrectly). It now mallocs as >> many blocks as possible on start-up, fills them with known values and >> then tests them all (this is how I found the bug). >> >> - The GIC (interrupt controller) addresses are now read from the FDT >> instead of being hard-coded, and interrupts now work. Before, it would >> hang as soon as interrupts were enabled. >> >> There's currently no virtual memory support (if the memory gets >> fragmented, malloc may fail, even if there are enough pages available >> in total). >> >> My next steps are to check that the rest of it is working and then try >> enabling libc. It might also be interesting to look at debugger >> support (e.g. getting gdbsx working), though I have no idea how hard >> that would be. >> >> >> -- >> Dr Thomas Leonard http://0install.net/ >> GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 >> GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA > > > > -- > Dr Thomas Leonard http://0install.net/ > GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 > GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA > > _______________________________________________ > MirageOS-devel mailing list > MirageOS-devel@xxxxxxxxxxxxxxxxxxxx > http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |