Date: Mon, 22 Jun 2015 22:56:44 +0300 From: Mihai Carabas <mihai.carabas@gmail.com> To: soc-status@freebsd.org Subject: Re: [GSOC] bhyve port on ARM - weekly status report Message-ID: <CANg1yUvyjTezxURAJi2EnYh6WLGVwSJbMSQNUEV0A2Un7kKNjA@mail.gmail.com> In-Reply-To: <CANg1yUsT=RRiNffq6cEXZArR4dYg9RiRc3dgc%2BCXMaY8JYir2Q@mail.gmail.com> References: <CANg1yUspT8uHtX4bu0kO5dWLssvv-5457kSBovdyNKpi-OQ1kw@mail.gmail.com> <CANg1yUvgvtp5asPXLmtjwkROZ4Kf=mrOxXFcwvwdseYoQkcivA@mail.gmail.com> <CANg1yUsT=RRiNffq6cEXZArR4dYg9RiRc3dgc%2BCXMaY8JYir2Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi everyone, Here is the last week status report. > Right now I've managed to finally get to the mount root part [5]. > After this part, I've created a ramdisk filesystem using makefs and a mtree file format with a minimal number of files (hardlinks to the rescue binary, running in single-user mode). I've pushed a script for makefs and the mtree file to the repo [1]. Further I've modified the conf file to include the ramdisk in the kernel image and I got to the shell. But at this point, I had no input. It seems that the interrupts were not delivered (the input worked on kernel KDB though). First I thought that the console is working in polling mode (which Peter said that is not supported by the tty I was using). After a day of debugging I've noticed that no interrupts were coming. There would have been multiple causes: the GIC was missconfigured, the interrupts numbers for the serial input weren't parsed correctly. I assumed that the problem is at the DTB parsing. In order to eliminate all the problems with FreeBSD DTB parsing, I've created a simple DTB from scratch, adding only the cpu, gic, timers and console devices, all with absolute addresses (no addresses relative to a bus, or interrupt number relative to a bank). After this step all worked like a charm. Further I've written an initialization code for HYP mode, installing a stub handler for HYP exception for platforms that have support for this. The stub handler permits changing the exception vectors. Later, when the vmm module will be loaded, the handler will be replaced by a fully fledged one which will take care of VM context switch and various exceptions. [2] > PS: This week I will try to create a tutorial on the wiki on how to run > the FreeBSD on FastModel FVP_VE-CortexA15x1. > > I've postponed the tutorial due to the work on hypervisor initialization. I will try to make it until next week. Thank you, Mihai [1] https://svnweb.freebsd.org/socsvn/soc2015/mihai/ramdisk/ [2] https://svnweb.freebsd.org/socsvn/soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/hypervisor-stub.S?revision=287374&view=markup
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANg1yUvyjTezxURAJi2EnYh6WLGVwSJbMSQNUEV0A2Un7kKNjA>