lkml.org 
[lkml]   [2009]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -tip v14 01/12] x86: instruction decoder API
    On Thu, Aug 20, 2009 at 01:42:31AM +0200, Frederic Weisbecker wrote:
    > On Thu, Aug 13, 2009 at 04:34:13PM -0400, Masami Hiramatsu wrote:
    > > Add x86 instruction decoder to arch-specific libraries. This decoder
    > > can decode x86 instructions used in kernel into prefix, opcode, modrm,
    > > sib, displacement and immediates. This can also show the length of
    > > instructions.
    > >
    > > This version introduces instruction attributes for decoding instructions.
    > > The instruction attribute tables are generated from the opcode map file
    > > (x86-opcode-map.txt) by the generator script(gen-insn-attr-x86.awk).
    > >
    > > Currently, the opcode maps are based on opcode maps in Intel(R) 64 and
    > > IA-32 Architectures Software Developers Manual Vol.2: Appendix.A,
    > > and consist of below two types of opcode tables.
    > >
    > > 1-byte/2-bytes/3-bytes opcodes, which has 256 elements, are
    > > written as below;
    > >
    > > Table: table-name
    > > Referrer: escaped-name
    > > opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
    > > (or)
    > > opcode: escape # escaped-name
    > > EndTable
    > >
    > > Group opcodes, which has 8 elements, are written as below;
    > >
    > > GrpTable: GrpXXX
    > > reg: mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
    > > EndTable
    > >
    > > These opcode maps include a few SSE and FP opcodes (for setup), because
    > > those opcodes are used in the kernel.
    > >
    >
    >
    > I'm getting the following build error on an old K7 box:
    >
    > arch/x86/lib/inat.c: In function ‘inat_get_opcode_attribute’:
    > arch/x86/lib/inat.c:29: erreur: ‘inat_primary_table’ undeclared (first use in this function)
    > arch/x86/lib/inat.c:29: erreur: (Each undeclared identifier is reported only once
    > arch/x86/lib/inat.c:29: erreur: for each function it appears in.)
    >
    >
    > I've attached my config. I haven't such problem on a dual x86-64 box.


    Actually I have the same problem in x86-64
    The content of my arch/x86/lib/inat-tables.c:

    /* x86 opcode map generated from x86-opcode-map.txt */
    /* Do not change this code. */
    /* Table: one byte opcode */
    /* Escape opcode map array */
    const insn_attr_t const *inat_escape_tables[INAT_ESC_MAX + 1][INAT_LPREFIX_MAX + 1] = {
    };

    /* Group opcode map array */
    const insn_attr_t const *inat_group_tables[INAT_GRP_MAX + 1][INAT_LPREFIX_MAX + 1] = {
    };


    I guess there is a problem with the generation of this file.

    --
    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/

    \
     
     \ /
      Last update: 2009-08-20 02:23    [W:0.026 / U:215.296 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site