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

Re: [MirageOS-devel] Mini-OS on ARM status



Yes, this is terrific. I tried to find time to also move forward on a Cubieboard2 solution over the last couple of months and failed miserably. A big thanks. Itching to start running mirage on Arm ;)

> From: anil@xxxxxxxxxx
> Date: Mon, 28 Apr 2014 19:41:58 +0100
> To: talex5@xxxxxxxxx
> CC: mirageos-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: 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
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

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