Skip site navigation (1)Skip section navigation (2)
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>