svn commit: r215315 - in head: lib/libkvm sys/kern sys/sys
Dimitry Andric
dim at FreeBSD.org
Sun Nov 14 20:14:25 UTC 2010
Author: dim
Date: Sun Nov 14 20:14:25 2010
New Revision: 215315
URL: http://svn.freebsd.org/changeset/base/215315
Log:
Similar to sys/net/vnet.h, define the linker set name for sys/sys/pcpu.h
as a macro, and use it instead of literal strings.
Modified:
head/lib/libkvm/kvm.c
head/lib/libkvm/kvm_pcpu.c
head/sys/kern/link_elf_obj.c
head/sys/sys/pcpu.h
Modified: head/lib/libkvm/kvm.c
==============================================================================
--- head/lib/libkvm/kvm.c Sun Nov 14 19:57:56 2010 (r215314)
+++ head/lib/libkvm/kvm.c Sun Nov 14 20:14:25 2010 (r215315)
@@ -50,6 +50,7 @@ static char sccsid[] = "@(#)kvm.c 8.2 (B
#include <sys/stat.h>
#include <sys/sysctl.h>
#include <sys/linker.h>
+#include <sys/pcpu.h>
#include <net/vnet.h>
@@ -433,7 +434,7 @@ _kvm_nlist(kvm_t *kd, struct nlist *nl,
if (error > 0 && _kvm_dpcpu_initialized(kd, initialize))
error = kvm_fdnlist_prefix(kd, nl, error,
- "pcpu_entry_", _kvm_dpcpu_validaddr);
+ DPCPU_SYMPREFIX, _kvm_dpcpu_validaddr);
return (error);
}
@@ -473,7 +474,7 @@ again:
p->n_value =
_kvm_vnet_validaddr(kd, lookup.symvalue);
else if (_kvm_dpcpu_initialized(kd, initialize) &&
- !strcmp(prefix, "pcpu_entry_"))
+ !strcmp(prefix, DPCPU_SYMPREFIX))
p->n_value =
_kvm_dpcpu_validaddr(kd, lookup.symvalue);
else
@@ -495,7 +496,7 @@ again:
}
if (error && _kvm_dpcpu_initialized(kd, initialize) && !tried_dpcpu) {
tried_dpcpu = 1;
- prefix = "pcpu_entry_";
+ prefix = DPCPU_SYMPREFIX;
goto again;
}
Modified: head/lib/libkvm/kvm_pcpu.c
==============================================================================
--- head/lib/libkvm/kvm_pcpu.c Sun Nov 14 19:57:56 2010 (r215314)
+++ head/lib/libkvm/kvm_pcpu.c Sun Nov 14 20:14:25 2010 (r215315)
@@ -197,9 +197,9 @@ _kvm_dpcpu_init(kvm_t *kd)
{
struct nlist nl[] = {
#define NLIST_START_SET_PCPU 0
- { "___start_set_pcpu" },
+ { "___start_" DPCPU_SETNAME },
#define NLIST_STOP_SET_PCPU 1
- { "___stop_set_pcpu" },
+ { "___stop_" DPCPU_SETNAME },
#define NLIST_DPCPU_OFF 2
{ "_dpcpu_off" },
#define NLIST_MP_MAXCPUS 3
Modified: head/sys/kern/link_elf_obj.c
==============================================================================
--- head/sys/kern/link_elf_obj.c Sun Nov 14 19:57:56 2010 (r215314)
+++ head/sys/kern/link_elf_obj.c Sun Nov 14 20:14:25 2010 (r215315)
@@ -336,7 +336,7 @@ link_elf_link_preload(linker_class_t cls
ef->progtab[pb].name =
ef->shstrtab + shdr[i].sh_name;
if (ef->progtab[pb].name != NULL &&
- !strcmp(ef->progtab[pb].name, "set_pcpu")) {
+ !strcmp(ef->progtab[pb].name, DPCPU_SETNAME)) {
void *dpcpu;
dpcpu = dpcpu_alloc(shdr[i].sh_size);
@@ -757,7 +757,7 @@ link_elf_load_file(linker_class_t cls, c
else
ef->progtab[pb].name = "<<NOBITS>>";
if (ef->progtab[pb].name != NULL &&
- !strcmp(ef->progtab[pb].name, "set_pcpu"))
+ !strcmp(ef->progtab[pb].name, DPCPU_SETNAME))
ef->progtab[pb].addr =
dpcpu_alloc(shdr[i].sh_size);
#ifdef VIMAGE
@@ -789,7 +789,7 @@ link_elf_load_file(linker_class_t cls, c
}
/* Initialize the per-cpu or vnet area. */
if (ef->progtab[pb].addr != (void *)mapbase &&
- !strcmp(ef->progtab[pb].name, "set_pcpu"))
+ !strcmp(ef->progtab[pb].name, DPCPU_SETNAME))
dpcpu_copy(ef->progtab[pb].addr,
shdr[i].sh_size);
#ifdef VIMAGE
@@ -911,7 +911,7 @@ link_elf_unload_file(linker_file_t file)
continue;
if (ef->progtab[i].name == NULL)
continue;
- if (!strcmp(ef->progtab[i].name, "set_pcpu"))
+ if (!strcmp(ef->progtab[i].name, DPCPU_SETNAME))
dpcpu_free(ef->progtab[i].addr,
ef->progtab[i].size);
#ifdef VIMAGE
Modified: head/sys/sys/pcpu.h
==============================================================================
--- head/sys/sys/pcpu.h Sun Nov 14 19:57:56 2010 (r215314)
+++ head/sys/sys/pcpu.h Sun Nov 14 20:14:25 2010 (r215315)
@@ -42,6 +42,9 @@
#include <sys/resource.h>
#include <machine/pcpu.h>
+#define DPCPU_SETNAME "set_pcpu"
+#define DPCPU_SYMPREFIX "pcpu_entry_"
+
#ifdef _KERNEL
/*
@@ -72,7 +75,7 @@ extern uintptr_t dpcpu_off[];
*/
#define DPCPU_NAME(n) pcpu_entry_##n
#define DPCPU_DECLARE(t, n) extern t DPCPU_NAME(n)
-#define DPCPU_DEFINE(t, n) t DPCPU_NAME(n) __section("set_pcpu") __used
+#define DPCPU_DEFINE(t, n) t DPCPU_NAME(n) __section(DPCPU_SETNAME) __used
/*
* Accessors with a given base.
More information about the svn-src-head
mailing list