Date: Fri, 19 Apr 2013 08:54:49 -0600 From: "Justin T. Gibbs" <gibbs@freebsd.org> To: Bei Guan <gbtju85@gmail.com> Cc: soc-status <soc-status@freebsd.org> Subject: =?utf-8?Q?Re=3A_Mentor_of_the_Project_=22PCI_frontend_XEN_PV_dri?= =?utf-8?Q?ver=22=EF=BC=9F?= Message-ID: <ED92E995-92D0-430B-BF0F-5795C534B63D@freebsd.org> In-Reply-To: <CAEQjb-R1C17f4t_eoe5gYkqSv%2BJD%2Bmahr%2Bx9qXBJ%2BNKsJLSJ5A@mail.gmail.com> References: <CAEQjb-RV30H9h8_tO%2BC0SkWAOi0DNF3G9xzpNFkj1_OKR%2ByLkw@mail.gmail.com> <920A79FE-8C56-4D26-8611-3CD48602FC3B@freebsd.org> <CAEQjb-QGktoBNHAF4JqwyzJy01dO49b59chJ4k6WCrs_8FYnhQ@mail.gmail.com> <7AB96913-9118-4298-B183-A3D5EBC6F209@freebsd.org> <CAEQjb-R1C17f4t_eoe5gYkqSv%2BJD%2Bmahr%2Bx9qXBJ%2BNKsJLSJ5A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 18, 2013, at 7:14 AM, Bei Guan <gbtju85@gmail.com> wrote: > 2013/4/16 Justin T. Gibbs <gibbs@freebsd.org> > On Apr 12, 2013, at 3:02 AM, Bei Guan <gbtju85@gmail.com> wrote: >=20 > > Thank you for your reply. > > > > I think it's also a good project for me to write a SCSI or USB PV = frontend for FreeBSD. I'm interest in Xen and have done some development = about Xen PV and HVM, but I didn't do any development on FreeBSD. As to = this project, where should I start? Is there any other similar FreeBSD = project I can refer to? >=20 > Front-end drivers for network, block, and control already exist and = should serve as a good starting point for the creation of another PV = driver. >=20 > I've also updated the ideas page to include more information about our = existing XEN implementation and what will be required for these = projects. >=20 > > In order to write a SCSI or USB PV driver, do we need the Xen PV = drivers in FreeBSD, such as event channel, hypercalls, xenbus, and so = on? >=20 > Yes, FreeBSD already has support for all XenBus APIs needed to write = these drivers. See "sys/xen" and "sys/dev/xen" in the FreeBSD kernel = source tree. >=20 > > You said the "drivers can be developed using an HVM guest", can you = give me more information about it? >=20 > Typically, you install FreeBSD using standard install media as a full = HVM guest on a system running Xen. Then compile a custom kernel using = the XENHVM config file in order to activate the existing PV drivers. > Hi Justin, >=20 > Does this project need to provide USB/SCSI PV drivers to both 32-bit = and 64-bit FreeBSD? Idealy, yes. > I've compiled the FreeBSD 8.3 (i386) as Xen DomU with the XENHVM = config. But, It cannot boot successfully. The screenshot is attached. > According to the page https://wiki.freebsd.org/FreeBSD/Xen , 32-bit = FreeBSD should work when compiled with XENHVM config. I have never tried a 32bit XENHVM configuration, but I know of no = reasons why it should not work. The issue shown by your screen shot (in = your other email) is probably due to a PV driver failing to fully = attach, or a mistake in the merge of SVN changeset 211236 to releng-8. = I would suggest instrumenting sys/xen/xenbus/xenbusb.c to determine the = driver that is still holding up the root mount process and then go from = there. See xenbusb_attach() and xenbusb_nop_confighook_cb() for = details. You may also want to invest in changing your Xen configuration to use a = serial console. This will allow you to properly log and examine all = kernel messages emitted during your test runs.=20 > I will try the 64-bit FreeBSD. However, if the FreeBSD boot = successfully (compiled with XENHVM config), how can we know it really = uses the PV drivers instead of the native drivers? Your configuration is definitely using PV drivers. xenbusb_front, xn, = and xbd, are all PV drivers. -- Justin=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ED92E995-92D0-430B-BF0F-5795C534B63D>