Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Apr 2009 13:42:21 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Ivan Voras <ivoras@freebsd.org>
Cc:        freebsd-hackers@freebsd.org, Sergey Babkin <babkin@verizon.net>
Subject:   Re: Patch for MS Hyper V (virtualization)
Message-ID:  <200904061342.22000.jhb@freebsd.org>
In-Reply-To: <9bbcef730904061007y66a8440al3c43a6a6b6cd6ed6@mail.gmail.com>
References:  <1366225354.253456.1238948619308.JavaMail.root@vms124.mailsrvcs.net> <200904061154.19601.jhb@freebsd.org> <9bbcef730904061007y66a8440al3c43a6a6b6cd6ed6@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 06 April 2009 1:07:38 pm Ivan Voras wrote:
> 2009/4/6 John Baldwin <jhb@freebsd.org>:
> > On Sunday 05 April 2009 12:23:39 pm Sergey Babkin wrote:
>=20
> > Hmm, the problem is we need to be able to write to BARs to size them. =
=C2=A0Any=20
OS
> > needs to be able to do this to know what address space regions are being
> > decoded by devices. =C2=A0We can't avoid writing to BARs.
>=20
> I have only vague idea what BARs are and if it's the correct diagnosis
> in this case, but the fact is that other operating systems (Windows,
> Linux tested) work, so either there is a way around it or the original
> premise is wrong-ish.

Every OS writes to BARs to size them during boot.  It's the defined procedu=
re=20
for sizing them.  A BAR is a base address register, and it is how a PCI=20
device gets memory and I/O port resources.  OS (or BIOS) writes a starting=
=20
address into the register to tell the PCI device where a given=20
resource "starts".

=2D-=20
John Baldwin



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