x86BIOS and the ISA bus and low memory in general...
Marcel Moolenaar
xcllnt at mac.com
Sat Oct 17 05:09:37 UTC 2009
On Oct 16, 2009, at 10:46 AM, Jung-uk Kim wrote:
>>>
>>> I thought that most video cards had I/O ports as well as video
>>> RAM that needed to be mapped... Am I crazy?
>>
>> It depends on the platform. On an Itanium machine I have the
>> VGA frame buffer is at physical address 0xA0000-0xC0000.
>
> The address is the same, then. :-)
On this one machine it happens to be the same. On another machine
there's no addressable memory below 768TB (yes, terabyte), so as
I said: it depends.
>> The only requirement is that you use non-cached I/O, otherwise
>> you get a machine check. This can mean a non-identity mapping
>> or not. It all depends...
>
> I couldn't find a way to manipulate memory attribute directly on ia64,
> i.e., mem_range_attr_{get,set}() and pmap_mapdev_attr() only exist on
> amd64 and i386. Does pmap_mapdev() set the attribute as UC?
New KPIs are typically only implemented for i386 and amd64.
It's one of the many unnecessary difficulties one faces
when trying to port or maintain a platform.
> It seems there are PC-compatible inline functions {in,out}[bwl] in
> sys/ia64/include/cpufunc.h. Will they work as I expect?
Yes, but it's always been my intention to remove them. Don't
base any implementation on the existence of these...
FYI,
--
Marcel Moolenaar
xcllnt at mac.com
More information about the freebsd-arch
mailing list