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.
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to