[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] Mini-OS on ARM status
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |