>>>>> On Mon, 10 Jan 2005 15:28:24 +0000 (GMT), "Maciej W. Rozycki"
>>>>> <firstname.lastname@example.org> said:
macro> Hmm, what's the semantics of "volatile void *"? I can't
macro> imagine any, so I don't think it would be useful.
Well, maybe the 'volatile' have no sense, but some archs (including
i386, of course :-)) and some drivers use it. Adding the 'volatile'
will remove some compiler warnings.
macro> Instead of using "#ifndef" the generic versions could be moved
macro> to <asm-mips/mach-generic/mangle-port.h>. Otherwise it sounds
Hmm, if all *ioswab*() were moved to mangle-port.h,
mach-ip22/mangle-port.h (for example) must provide all *ioswab*()
instead of only ioswabw() and __raw_ioswabw(). OTOH providing
complete set of *ioswab* in one file might be better to understand the
code. Both are acceptable for me.
macro> Note that __mem is a virtual address, though, so you'd have to
macro> perform a physical address lookup before deciding on a swapping
macro> strategy -- would we really have a gain on any system from
macro> using regions with different swapping properties?
Yes, virt-to-phys conversion might be needed, but if we only use KSEG1
for I/O port/memory, it does not matter.
And I have some custom boards which really needs different swapping
properties (PCI regions need SWAP_IO_SPACE, but ISA region does not,
for example). I agree that those boards were misdesigned but I want
to run Linux on it without modifying existing drivers.