Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Jul 2019 19:24:21 +0300
From:      Darius Mihai <dariusmihaim@gmail.com>
To:        Kamil Koczurek <kek@semihalf.com>
Cc:        freebsd-virtualization@freebsd.org
Subject:   Re: bhyve/arm64 status
Message-ID:  <CAPj=67sropzHimsojG8D4J3d_xcMdLBqqSMdUhKCSrop-NUCRA@mail.gmail.com>
In-Reply-To: <CAPj=67vDMcgJvTpPErEVWDwjXCH61CSsE9SD=VR1nZeeuHE=pg@mail.gmail.com>
References:  <CANm5QM6cwN3km1gJMfEoQKzbTjJKY4A4tY4Xb=xXYvaJjsVBrA@mail.gmail.com> <CAPj=67vDMcgJvTpPErEVWDwjXCH61CSsE9SD=VR1nZeeuHE=pg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 11, 2019 at 4:01 PM Darius Mihai <dariusmihaim@gmail.com> wrote:
>
> On Thu, Jul 11, 2019 at 1:09 PM Kamil Koczurek <kek@semihalf.com> wrote:
> >
> > I'm trying to cross-compile bhyve for espressobin myself, but I've
> > come across some problems. `make buildworld`* throws the following
> > errors:
> >
> > 1. on branch bhyvearm64:
> > ```
> > make[4]: make[4]: don't know how to make bhyvectl.1. Stop
> > ```
> >
> > 2. on branch bhyvearm64_refactor:
> > ```
> > In file included from
> > /root/bhyve/ehh/freebsd/usr.sbin/bhyve/mmio//devemu_irq.c:14:
> > /root/bhyve/ehh/freebsd/sys/dev/virtio/mmio/virtio_mmio.h:36:1: error:
> > type specifier missing, defaults to 'int'
> > [-Werror,-Wimplicit-int]
> > DECLARE_CLASS(vtmmio_driver);
> > ^
> > /root/bhyve/ehh/freebsd/sys/dev/virtio/mmio/virtio_mmio.h:36:15:
> > error: a parameter list without types is only allowed in a function
> > definition
> > DECLARE_CLASS(vtmmio_driver);
> >               ^
> > /root/bhyve/ehh/freebsd/sys/dev/virtio/mmio/virtio_mmio.h:41:2: error:
> > unknown type name 'device_t'
> >         device_t                        dev;
> >         ^
> > /root/bhyve/ehh/freebsd/sys/dev/virtio/mmio/virtio_mmio.h:42:2: error:
> > unknown type name 'device_t'
> >         device_t                        platform;
> >         ^
> > /root/bhyve/ehh/freebsd/sys/dev/virtio/mmio/virtio_mmio.h:49:2: error:
> > unknown type name 'device_t'
> >         device_t                        vtmmio_child_dev;
> >         ^
> > /root/bhyve/ehh/freebsd/sys/dev/virtio/mmio/virtio_mmio.h:57:19:
> > error: a parameter list without types is only allowed in a function
> > definition
> > int vtmmio_attach(device_t);
> >                   ^
> > ```
> >
> > Both builds were done on freshly installed FreeBSD 13.0 / amd64. I can
> > supply full logs if anybody wants to take a look at them.
> >
> > * Using supplied build scripts from bhyvearm64-utils gives the same results.
>
> Hello,
>
> You didn't mention where you got the code from. I assume it's the one
> at https://github.com/FreeBSD-UPB/freebsd/tree/projects/bhyvearm64-refactor.
> I'll try building it on my side to see why you're getting those errors.
>
> All the best,
> Darius

Hello again,

Try updating the git branch now.

The issue was caused by using the defines under
/sys/dev/virtio/mmio/virtio_mmio.h by including the header from
/sys/dev/virtio/mmio; at some point, the header added a class
definition and structure that rely on other includes being added
before including the 'virtio_mmio.h' header. I have added a local copy
of the header with only the defines in it to bypass this issue. Give
it a try and let me know how it works.

All the best,
Darius



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPj=67sropzHimsojG8D4J3d_xcMdLBqqSMdUhKCSrop-NUCRA>