Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Feb 2023 21:27:58 -0800
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Warner Losh <imp@bsdimp.com>, freebsd-arch@freebsd.org
Subject:   Re: making identify_hypervisor arch independent
Message-ID:  <20230224052758.GT95670@funkthat.com>
In-Reply-To: <Y/bxSvgJFVukYa0N@kib.kiev.ua>
References:  <20230222040556.GP95670@funkthat.com> <CANCZdfox_xLs9c%2BmxPriWQ7qymiF%2BNHqNHk_TEtvswswav2oYg@mail.gmail.com> <Y/Xx%2B5YqhS8TuekK@kib.kiev.ua> <20230223002940.GS95670@funkthat.com> <Y/bxSvgJFVukYa0N@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Konstantin Belousov wrote this message on Thu, Feb 23, 2023 at 06:53 +0200:
> On Wed, Feb 22, 2023 at 04:29:40PM -0800, John-Mark Gurney wrote:
> > Konstantin Belousov wrote this message on Wed, Feb 22, 2023 at 12:44 +0200:
> > > On Tue, Feb 21, 2023 at 10:22:41PM -0700, Warner Losh wrote:
> > > > On Tue, Feb 21, 2023 at 9:06 PM John-Mark Gurney <jmg@funkthat.com> wrote:
> > > > 
> > > > > Hello,
> > > > >
> > > > > I have a pending diff (https://reviews.freebsd.org/D38721) that will make
> > > > > SMBIOS work on arm64 systems (specifically under qemu, but likely it may
> > > > > add support for other EFI arm64 systems that have SMBIOS as well).
> > > > >
> > > > > The goal is to support identifying that we are running as a guest under
> > > > > QEMU so that we automatically switch to hz=100 on arm64.
> > > > >
> > > > > Currently there is code in x86/x86/identcpu.c that has code to identify
> > > > > hypervisers via SMBIOS, so I'd like to move most of identify_hypervisor
> > > > > to a new location so that arm64 code can call it as well.
> > > > >
> > > > > Where should I put it?  kern/subr_identsmbios.c?  And make it optional
> > > > > on EFIRT for arm64 and standard on x86?
> > > > 
> > > > I'd do kern/subr_smbios.c.
> > > > 
> > > > I'd be tempted to make it standard, since EFI is basically required for
> > > > arm64. It's not dependent at all on efi run time support.
> > > Why not extend existing sys/dev/smbios?
> > 
> > Because it's not a device like dev says it should be.
> dev/ does not imply that code from there needs either cdev or newbus
> attachment,it is for code that is to handle platform or device.  smbios
> fits perfectly into this description.
> 
> Biggest example is dev/efidev, with its efirt/efirtc stuff.
> Second would be dev/smbios.

smbios isn't a good example, just a FYI, it IS a device driver, and
it doesn't do anything except reserve a resource...

> In fact, there is even stuff like dev/{xz,zlib}.

Ok, I was just going on what sys/README.md says, I'll update that to
make it clear that it isn't just for device drivers, and is any arch
independent code.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20230224052758.GT95670>