Date: Thu, 28 Oct 2010 22:22:30 +0200 From: Attilio Rao <attilio@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214457 - in head/sys: amd64/amd64 conf i386/i386 x86/x86 Message-ID: <AANLkTi=dZK3YcgXxSKy1T24BiT5KrGjiEfRGrx3RR7MV@mail.gmail.com> In-Reply-To: <201010281457.19804.jhb@freebsd.org> References: <201010281631.o9SGVdtZ014923@svn.freebsd.org> <AANLkTim_znVvoC0DVygFEu8GPOiwiuNs2fB_iMp61GpA@mail.gmail.com> <201010281411.40423.jhb@freebsd.org> <201010281457.19804.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
2010/10/28 John Baldwin <jhb@freebsd.org>: > On Thursday, October 28, 2010 2:11:40 pm John Baldwin wrote: >> On Thursday, October 28, 2010 1:21:34 pm Attilio Rao wrote: >> > + =C2=A0 =C2=A0 =C2=A0 vm_paddr_t *p; >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 caddr_t kmdp; >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 uint32_t smapsize; >> > - =C2=A0 =C2=A0 =C2=A0 int error, rid; >> > + =C2=A0 =C2=A0 =C2=A0 int error, i, rid; >> > >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Retrieve the system memory map from the= loader. */ >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 kmdp =3D preload_search_by_type("elf kerne= l"); >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (kmdp =3D=3D NULL) >> > - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 kmdp =3D preload_se= arch_by_type("elf64 kernel"); >> > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 kmdp =3D preload_se= arch_by_type(ELF_KERN_STR); >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 smapbase =3D (struct bios_smap *)preload_s= earch_info(kmdp, >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 MODINFO_METADATA | MODINFOMD= _SMAP); >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 smapsize =3D *((u_int32_t *)smapbase - 1); >> >> It would be nice if ELF_KERN_STR could be autogenerated as something lik= e: >> >> "elf ## __ELF_WORD_SIZE ## kernel" instead of needing an #ifdef. > > This works in my testing: > > #include <sys/elf.h> > #include <stdio.h> > > int > main(void) > { > =C2=A0 =C2=A0 =C2=A0 =C2=A0printf("%s\n", "elf" __XSTRING(__ELF_WORD_SIZE= ) " kernel"); > =C2=A0 =C2=A0 =C2=A0 =C2=A0return (0); > } > I'm not entirely sure we might use this because in general it is an 'embedded' string for the other cases, but I don't have a strong opinion about it, so I'm fine with auto-generation. Attilio --=20 Peace can only be achieved by understanding - A. Einstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=dZK3YcgXxSKy1T24BiT5KrGjiEfRGrx3RR7MV>