[PATCH 1/1] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found - Kernel

This is a discussion on [PATCH 1/1] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found - Kernel ; From: Robin Getz Signed-off-by: Robin Getz Signed-off-by: Bryan Wu --- kernel/kallsyms.c | 6 +++++- scripts/kallsyms.c | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 7dadc71..714bd5b 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -63,7 +63,11 @@ ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: [PATCH 1/1] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found

  1. [PATCH 1/1] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found

    From: Robin Getz

    Signed-off-by: Robin Getz
    Signed-off-by: Bryan Wu
    ---
    kernel/kallsyms.c | 6 +++++-
    scripts/kallsyms.c | 10 +++++++++-
    2 files changed, 14 insertions(+), 2 deletions(-)

    diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
    index 7dadc71..714bd5b 100644
    --- a/kernel/kallsyms.c
    +++ b/kernel/kallsyms.c
    @@ -63,7 +63,11 @@ static inline int is_kernel_extratext(unsigned long addr)

    static inline int is_kernel_text(unsigned long addr)
    {
    - if (addr >= (unsigned long)_stext && addr <= (unsigned long)_etext)
    + if ((addr >= (unsigned long)_stext && addr <= (unsigned long)_etext)
    +#if defined(CONFIG_BLACKFIN)
    + || (addr >= (unsigned long)_stext_l1 && addr <= (unsigned long)_etext_l1)
    +#endif
    + )
    return 1;
    return in_gate_area_no_task(addr);
    }
    diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
    index 1f11d84..8775981 100644
    --- a/scripts/kallsyms.c
    +++ b/scripts/kallsyms.c
    @@ -12,6 +12,8 @@
    * (25/Aug/2004) Paulo Marques
    * Changed the compression method from stem compression to "table lookup"
    * compression
    + * (10/Jul/2006) Robin Getz
    + * Add _stext_l1, _etext_l1 for the L1 memory section in Blackfin.
    *
    * Table compression uses all the unused char codes on the symbols and
    * maps these to the most used substrings (tokens). For instance, it might
    @@ -42,6 +44,7 @@ struct sym_entry {
    static struct sym_entry *table;
    static unsigned int table_size, table_cnt;
    static unsigned long long _text, _stext, _etext, _sinittext, _einittext, _sextratext, _eextratext;
    +static unsigned long long _stext_l1, _etext_l1;
    static int all_symbols = 0;
    static char symbol_prefix_char = '\0';

    @@ -103,6 +106,10 @@ static int read_symbol(FILE *in, struct sym_entry *s)
    _sextratext = s->addr;
    else if (strcmp(sym, "_eextratext") == 0)
    _eextratext = s->addr;
    + else if (strcmp(sym, "_stext_l1" ) == 0)
    + _stext_l1 = s->addr;
    + else if (strcmp(sym, "_etext_l1" ) == 0)
    + _etext_l1 = s->addr;
    else if (toupper(stype) == 'A')
    {
    /* Keep these useful absolute symbols */
    @@ -166,7 +173,8 @@ static int symbol_valid(struct sym_entry *s)
    if (!all_symbols) {
    if ((s->addr < _stext || s->addr > _etext)
    && (s->addr < _sinittext || s->addr > _einittext)
    - && (s->addr < _sextratext || s->addr > _eextratext))
    + && (s->addr < _sextratext || s->addr > _eextratext)
    + && (s->addr < _stext_l1 || s->addr > _etext_l1))
    return 0;
    /* Corner case. Discard any symbols with the same value as
    * _etext _einittext or _eextratext; they can move between pass
    --
    1.5.3.4
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [PATCH 1/1] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found

    Bryan Wu wrote:
    > From: Robin Getz
    > [...]
    > --- a/scripts/kallsyms.c
    > +++ b/scripts/kallsyms.c
    > @@ -12,6 +12,8 @@
    > * (25/Aug/2004) Paulo Marques
    > * Changed the compression method from stem compression to "table lookup"
    > * compression
    > + * (10/Jul/2006) Robin Getz
    > + * Add _stext_l1, _etext_l1 for the L1 memory section in Blackfin.


    When I wrote this initially, it was a mistake to add a Changelog in the
    first place, but I didn't know better at the time.

    If you're going to make changes to this file, please remove all the
    Changelog, instead of adding more entries to it. The "Changelog" should
    be kept by the version control system, and not the source code itself.

    The rest of the patch looks ok, though.

    --
    Paulo Marques - www.grupopie.com

    "Very funny Scotty. Now beam up my clothes."
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [PATCH 1/1] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found

    On Jan 30, 2008 7:17 PM, Paulo Marques wrote:
    > Bryan Wu wrote:
    > > From: Robin Getz
    > > [...]
    > > --- a/scripts/kallsyms.c
    > > +++ b/scripts/kallsyms.c
    > > @@ -12,6 +12,8 @@
    > > * (25/Aug/2004) Paulo Marques
    > > * Changed the compression method from stem compression to "table lookup"
    > > * compression
    > > + * (10/Jul/2006) Robin Getz
    > > + * Add _stext_l1, _etext_l1 for the L1 memory section in Blackfin.

    >
    > When I wrote this initially, it was a mistake to add a Changelog in the
    > first place, but I didn't know better at the time.
    >
    > If you're going to make changes to this file, please remove all the
    > Changelog, instead of adding more entries to it. The "Changelog" should
    > be kept by the version control system, and not the source code itself.
    >


    May I remove the whole "Changelog" with a separated patch?

    Thanks
    -Bryan
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. [PATCH 1/1 try #2] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found

    >From 027addca9ed40f16b4238a92ca6b871ca301c139 Mon Sep 17 00:00:00 2001
    From: Robin Getz
    Date: Thu, 31 Jan 2008 01:21:25 +0800
    Subject: [PATCH] [Kallsyms] Blackfin: Allow kernel symbols in L1 to be found

    Add _stext_l1, _etext_l1 for the L1 memory section in Blackfin.

    Signed-off-by: Robin Getz
    Signed-off-by: Bryan Wu
    ---
    kernel/kallsyms.c | 6 +++++-
    scripts/kallsyms.c | 8 +++++++-
    2 files changed, 12 insertions(+), 2 deletions(-)

    diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
    index 7dadc71..714bd5b 100644
    --- a/kernel/kallsyms.c
    +++ b/kernel/kallsyms.c
    @@ -63,7 +63,11 @@ static inline int is_kernel_extratext(unsigned long addr)

    static inline int is_kernel_text(unsigned long addr)
    {
    - if (addr >= (unsigned long)_stext && addr <= (unsigned long)_etext)
    + if ((addr >= (unsigned long)_stext && addr <= (unsigned long)_etext)
    +#if defined(CONFIG_BLACKFIN)
    + || (addr >= (unsigned long)_stext_l1 && addr <= (unsigned long)_etext_l1)
    +#endif
    + )
    return 1;
    return in_gate_area_no_task(addr);
    }
    diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
    index 1f11d84..5271db7 100644
    --- a/scripts/kallsyms.c
    +++ b/scripts/kallsyms.c
    @@ -42,6 +42,7 @@ struct sym_entry {
    static struct sym_entry *table;
    static unsigned int table_size, table_cnt;
    static unsigned long long _text, _stext, _etext, _sinittext, _einittext, _sextratext, _eextratext;
    +static unsigned long long _stext_l1, _etext_l1;
    static int all_symbols = 0;
    static char symbol_prefix_char = '\0';

    @@ -103,6 +104,10 @@ static int read_symbol(FILE *in, struct sym_entry *s)
    _sextratext = s->addr;
    else if (strcmp(sym, "_eextratext") == 0)
    _eextratext = s->addr;
    + else if (strcmp(sym, "_stext_l1" ) == 0)
    + _stext_l1 = s->addr;
    + else if (strcmp(sym, "_etext_l1" ) == 0)
    + _etext_l1 = s->addr;
    else if (toupper(stype) == 'A')
    {
    /* Keep these useful absolute symbols */
    @@ -166,7 +171,8 @@ static int symbol_valid(struct sym_entry *s)
    if (!all_symbols) {
    if ((s->addr < _stext || s->addr > _etext)
    && (s->addr < _sinittext || s->addr > _einittext)
    - && (s->addr < _sextratext || s->addr > _eextratext))
    + && (s->addr < _sextratext || s->addr > _eextratext)
    + && (s->addr < _stext_l1 || s->addr > _etext_l1))
    return 0;
    /* Corner case. Discard any symbols with the same value as
    * _etext _einittext or _eextratext; they can move between pass
    --
    1.5.3.4

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. [PATCH] [Scripts] kallsyms: Nuke all ChangeLog, this should be logged by git

    >From 2375c7eaa43d4474fb5b403dba9b3175e683484a Mon Sep 17 00:00:00 2001
    From: Bryan Wu
    Date: Thu, 31 Jan 2008 01:30:09 +0800
    Subject: [PATCH] [Scripts] kallsyms: Nuke all ChangeLog, this should be logged by git

    (25/Aug/2004) Paulo Marques
    Changed the compression method from stem compression
    to "table lookup" compression

    Signed-off-by: Bryan Wu
    ---
    scripts/kallsyms.c | 6 ------
    1 files changed, 0 insertions(+), 6 deletions(-)

    diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
    index 5271db7..1dab50e 100644
    --- a/scripts/kallsyms.c
    +++ b/scripts/kallsyms.c
    @@ -7,12 +7,6 @@
    *
    * Usage: nm -n vmlinux | scripts/kallsyms [--all-symbols] > symbols.S
    *
    - * ChangeLog:
    - *
    - * (25/Aug/2004) Paulo Marques
    - * Changed the compression method from stem compression to "table lookup"
    - * compression
    - *
    * Table compression uses all the unused char codes on the symbols and
    * maps these to the most used substrings (tokens). For instance, it might
    * map char code 0xF7 to represent "write_" and then in every symbol where
    --
    1.5.3.4

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread