NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/55958: pciback.hide parsing error
The following reply was made to PR kern/55958; it has been noted by GNATS.
From: Aleksey Arens <aza.sea.agenda%gmail.com@localhost>
To: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost,
gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: kern/55958: pciback.hide parsing error
Date: Wed, 27 Jan 2021 22:09:04 -0800
A subsequent discussion at #xendevel ensued. It was learned that as a
matter of fact, Xen does expect multiboot protocol for module loading.
Also, a reference to a respective implementation in FreeBSD was
suggested:
https://cgit.freebsd.org/src/tree/stand/i386/libi386/multiboot.c#n253
Thus, it would be fair to say that sharing data-structures between the
native module loader and code that is involved in loading Xen modules
-- which must be done not with a native bootloader, but with a
multiboot loader -- is not desirable. (I must clarify thereby. I'm
talking about the data structures that implement layout of loaded
module images, not the module chain descriptions; the latter could be
left intact.)
Since conceptually multiboot and native module loading are different
module loading schemes, I would like to suggest that a multiboot
protocol be implemented separately, with a separate set of
data-structures. If this approach is taken, then there shall be no
binary compatibility issue whatsoever with native loading, and
whatever binary compatibility might be occurring with the /netbsd's
multiboot loading case (which is AFAIK is not enabled by default in
the kernel config anyway) should be treated as kernel bugs, since a
standard-conforming multiboot kernel should always be loadable by a
standard-conforming multiboot bootloader (apart perhaps from the
initial ramdisk related caveat noted below).
I am interested in implementing the multiboot functionality -- at
least version 1, but there is also an interest on my part in
implementing version 2 -- for /boot, and accommodating Xen-specific
workarounds from FreeBSD. The latter workarounds are related to
initial ramdisk implementation differences and multiboot protocol
requirements.
I suppose we could look into the ramdisk issues, and decide whether
the multiboot implementation must be strict, or if it can be relaxed,
and if Xen's code could be adjusted. I favor the former option -- of
implementing the standard strictly in the bootloader. This option may
lead to a need to adjust /netbsd a bit w.r.t. the initrd issues with
multiboot. However, the result would be a kernel that fully conforms
to multiboot standard. Also, since MULTIBOOT is non-default for
/netbsd, the impact would be low.
Home |
Main Index |
Thread Index |
Old Index