svn commit: r214457 - in head/sys: amd64/amd64 conf i386/i386
x86/x86
Attilio Rao
attilio at freebsd.org
Thu Oct 28 20:25:20 UTC 2010
2010/10/28 John Baldwin <jhb at freebsd.org>:
> On Thursday, October 28, 2010 1:21:34 pm Attilio Rao wrote:
>> 2010/10/28 John Baldwin <jhb at freebsd.org>:
>> > On Thursday, October 28, 2010 12:31:39 pm Attilio Rao wrote:
>> >> Author: attilio
>> >> Date: Thu Oct 28 16:31:39 2010
>> >> New Revision: 214457
>> >> URL: http://svn.freebsd.org/changeset/base/214457
>> >>
>> >> Log:
>> >> Merge nexus.c from amd64 and i386 to x86 subtree.
>> >>
>> >> Sponsored by: Sandvine Incorporated
>> >> Tested by: gianni
>> >>
>> >
>> > It would be better to merge these two routines. The loader now passes the
>> > smap to i386 kernels as well, so ram_attach() should probably be changed to
>> > try the amd64 approach first and if that fails fall back to using the
>> > phys_avail[] array instead.
>>
>> What do you think about this patch?:
>> Index: nexus.c
>> ===================================================================
>> --- nexus.c (revision 214457)
>> +++ nexus.c (working copy)
>> @@ -52,9 +52,7 @@
>> #include <sys/systm.h>
>> #include <sys/bus.h>
>> #include <sys/kernel.h>
>> -#ifdef __amd64__
>> #include <sys/linker.h>
>> -#endif
>> #include <sys/malloc.h>
>> #include <sys/module.h>
>> #include <machine/bus.h>
>> @@ -67,12 +65,10 @@
>> #include <vm/pmap.h>
>> #include <machine/pmap.h>
>>
>> -#ifdef __amd64__
>> #include <machine/metadata.h>
>> -#include <machine/pc/bios.h>
>> -#endif
>> #include <machine/nexusvar.h>
>> #include <machine/resource.h>
>> +#include <machine/pc/bios.h>
>>
>> #ifdef DEV_APIC
>> #include "pcib_if.h"
>> @@ -89,11 +85,13 @@
>> #include <sys/rtprio.h>
>>
>> #ifdef __amd64__
>> -#define RMAN_BUS_SPACE_IO AMD64_BUS_SPACE_IO
>> -#define RMAN_BUS_SPACE_MEM AMD64_BUS_SPACE_MEM
>> +#define X86_BUS_SPACE_IO AMD64_BUS_SPACE_IO
>> +#define X86_BUS_SPACE_MEM AMD64_BUS_SPACE_MEM
>> +#define ELF_KERN_STR "elf64 kernel"
>> #else
>> -#define RMAN_BUS_SPACE_IO I386_BUS_SPACE_IO
>> -#define RMAN_BUS_SPACE_MEM I386_BUS_SPACE_MEM
>> +#define X86_BUS_SPACE_IO I386_BUS_SPACE_IO
>> +#define X86_BUS_SPACE_MEM I386_BUS_SPACE_MEM
>> +#define ELF_KERN_STR "elf32 kernel"
>> #endif
>
> I would not do this. What I meant is that amd64 and i386 should be
> changed to both use X86_BUS_SPACE_* and {AMD64,I386}_BUS_SPACE_* should be
> retired. This would involve changing the bus space code itself slightly,
> but it could perhaps be shared as a result. Alternatively as bde@ notes
> we could just drop the MD prefix entirely and have BUS_SPACE_* instead.
>
> However, I wouldn't make any changes to just nexus.c for the BUS_SPACE_*
> stuff.
Ok, as long as you and bde seem to prefer it, I'd just drop the X86_*
prefix for the moment and working on the overhaul later, as time
permits.
Thanks,
Attilio
--
Peace can only be achieved by understanding - A. Einstein
More information about the svn-src-all
mailing list