Skip to content
Commits on Jan 9, 2014
  1. @penberg

    x86: Fix decode_rel to use rel_data

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 10, 2014
  2. @penberg

    x86: Fix read_s8() signedness issue...

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 10, 2014
  3. @penberg

    x86: Opcode 75 is JNE, not JNZ

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 10, 2014
  4. @penberg

    x86: moffset size depends on address-size

    It's sometimes helpful to RTFM:
    
      The moffs8, moffs16, moffs32 and moffs64 operands specify a simple
      offset relative to the segment base, where 8, 16, 32 and 64 refer to
      the size of the data. The address-size attribute of the instruction
      determines the size of the offset, either 16, 32 or 64 bits.
    
    We are emulating 8086 so address-size is always 16 bits.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  5. @penberg

    x86: Fix disasm hexadecimal prints

    Makes the output look more similar to objdump which simplifies
    debugging...
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  6. @penberg

    x86: Fix OP_MEM disasm

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  7. @penberg

    x86: Fix moffset decoding

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  8. @penberg

    x86: Simplify decode_disp()

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  9. @penberg

    x86: Fix relative address decoding

    Commit 13da3c7 ("x86: Conditional jump instructions") broke decoding of
    negative relative addresses.
    
    Fix that up.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  10. @penberg

    x86: LEA instruction

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  11. @penberg

    x86: Fix OP_MEM decoding

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  12. @penberg

    x86: MOV immediate -> register/memory

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  13. @penberg

    x86: LOCK prefix

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  14. @penberg

    x86: JMP instruction

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  15. @penberg

    x86: Conditional jump instructions

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  16. @penberg

    x86: Annotate undefined opcodes

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  17. @penberg

    x86: Annotate prefixes in decode_table

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
  18. @penberg

    x86: POP segment register instruction

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 9, 2014
Commits on Jan 8, 2014
  1. @penberg

    x86: PUSH segment register instruction

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  2. @penberg

    Use PPA for LLVM 3.3 packages

    Use Niko Mikkilä's PPA LLVM 3.3 packages to build libcpu.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  3. @penberg

    CMake: Simplify llvm-config search

    Make sure we pick up LLVM 3.3 if multiple versions are installed on the
    system.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  4. @penberg

    CMake: Remove LLVM_GCC_EXECUTABLE and LLVM_GXX_EXECUTABLE

    They are not used so drop them.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  5. @penberg

    Use LLVM 3.3 in Travis CI

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  6. @penberg

    Fix LLVM function attributes

    As it turns out, I converted function attributes to the wrong API.  Use
    Function::addAttribute().
    
    Fixes segmentation fault in libcpu tests.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  7. @penberg

    Fix apt-get command in travis.yml

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  8. @penberg

    Add project summary to README

    The text is taken from libcpu's Ohloh project page.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  9. @penberg

    Add Libcpu logo to README

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  10. @penberg

    Add libcpu logo to source tree

    The web page seems to have disappeared so add the logo to source tree.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  11. @penberg

    Add license to README

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  12. @penberg

    Add Travis CI status to README

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  13. @penberg

    Travis CI control file

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  14. @penberg

    Convert README to Markdown syntax

    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  15. @penberg

    test/m88k: Fix 64-bit type and printf format problems

    Spotted by GCC:
    
    /home/penberg/libcpu/test/m88k/main.cpp: In function ‘void dump_state(uint8_t*, m88k_grf_t*, m88k_xrf_t*)’:
    /home/penberg/libcpu/test/m88k/main.cpp:141:37: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
        ieee754_fp80_to_double(xrf->x[i]));
                                         ^
    /home/penberg/libcpu/test/m88k/main.cpp: In function ‘int main(int, char**)’:
    /home/penberg/libcpu/test/m88k/main.cpp:272:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      stack = (char *)(ramsize - STACK_SIZE); // THIS IS *GUEST* ADDRESS!
                                           ^
    /home/penberg/libcpu/test/m88k/main.cpp:373:39: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
      printf("%lld -- %lld\n", t2-t1, t4-t3);
                                           ^
    /home/penberg/libcpu/test/m88k/main.cpp:373:39: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  16. @penberg

    CMakeLists: Don't build the upcl module

    It doesn't build on 64-bit Linux so drop it for now.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
  17. @penberg

    Fix function attribute LLVM API usage

    AFAICT, we don't need the index attributes so just use
    Function::addFnAttr() API directly.
    
    Signed-off-by: Pekka Enberg <penberg@iki.fi>
    penberg committed Jan 8, 2014
Something went wrong with that request. Please try again.