04 Sep, 2013

3 commits

  • We were rolling our own bundle_bits, which is unnecessary.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • Enter kernel debugger at boot with:
    --hvd UART_1=1 --hvx kgdbwait --hvx kgdboc=ttyS1,115200
    or at runtime with:
    echo ttyS1,115200 > /sys/module/kgdboc/parameters/kgdboc
    echo g > /proc/sysrq-trigger

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • The existing code relied on the hardware definition ()
    to specify how much VA and PA space was available. It's convenient
    to allow customizing this for some configurations, so provide symbols
    MAX_PA_WIDTH and MAX_VA_WIDTH in that can be modified
    if desired.

    Additionally, move away from the MEM_XX_INTRPT nomenclature to
    define the start of various regions within the VA space. In fact
    the cleaner symbol is, for example, MEM_SV_START, to indicate the
    start of the area used for supervisor code; the actual address of the
    interrupt vectors is not as important, and can be changed if desired.
    As part of this change, convert from "intrpt1" nomenclature (which
    built in the old privilege-level 1 model) to a simple "intrpt".

    Also strip out some tilepro-specific code supporting modifying the
    PL the kernel could run at, since we don't actually support using
    different PLs in tilepro, only tilegx.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

30 Aug, 2013

1 commit


14 Aug, 2013

1 commit

  • First, don't re-enable interrupts blindly in the Linux trap handler.
    We already handle page faults this way; synchronous interrupts like
    ILL_TRANS will fire even when interrupts are disabled, and we don't
    want to re-enable interrupts in that case.

    For ILL_TRANS, we now pass the ILL_VA_PC reason into the trap handler
    so we can report it properly; this is the address that caused the
    illegal translation trap. We print the address as part of the
    pr_alert() message now if it's coming from the kernel.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

26 May, 2012

1 commit


03 Apr, 2012

2 commits


29 Mar, 2012

1 commit


04 Nov, 2011

1 commit

  • The kernel code was using some headers that included a mix
    of hardware-specific information (typically found in Tilera
    headers) and structures, enums, and function declarations supporting
    the disassembly function of the tile-desc.c sources.

    This change refactors that code so that a hardware-specific, but
    OS- and application-agnostic header, is created: .
    This header is then exported to userspace along with the other
    headers and can be used to build userspace code; in particular,
    it is used by glibc as part of implementing the backtrace() function.

    The new header, together with a header that specifically describes
    the disassembly code ( with _32 and _64 variants),
    replaces the old and
    headers.

    As part of this change, we are also renaming the 32-bit constants
    from TILE_xxx to TILEPRO_xxx to better reflect the fact that they
    are specific to the TILEPro architecture, and not to TILE-Gx
    and any successor "tile" architecture chips.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

20 May, 2011

1 commit

  • This change adds support for /proc/sys/debug/exception-trace to tile.
    Like x86 and sparc, by default it is set to "1", generating a one-line
    printk whenever a user process crashes. By setting it to "2", we get
    a much more complete userspace diagnostic at crash time, including
    a user-space backtrace, register dump, and memory dump around the
    address of the crash.

    Some vestiges of the Tilera-internal version of this support are
    removed with this patch (the show_crashinfo variable and the
    arch_coredump_signal function). We retain a "crashinfo" boot parameter
    which allows you to set the boot-time value of exception-trace.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

16 Oct, 2010

2 commits


13 Aug, 2010

1 commit

  • This functionality was stubbed out until recently. Now we support our
    normal backtracing API on TILE-Gx as well as on TILE64/TILEPro.
    This change includes a tweak to the instruction encoding caused by
    adding addxli for compat mode.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

07 Jul, 2010

1 commit

  • This commit is primarily changes caused by reviewing "sparse"
    and "checkpatch" output on our sources, so is somewhat noisy, since
    things like "printk() -> pr_err()" (or whatever) throughout the
    codebase tend to get tedious to read. Rather than trying to tease
    apart precisely which things changed due to which type of code
    review, this commit includes various cleanups in the code:

    - sparse: Add declarations in headers for globals.
    - sparse: Fix __user annotations.
    - sparse: Using gfp_t consistently instead of int.
    - sparse: removing functions not actually used.
    - checkpatch: Clean up printk() warnings by using pr_info(), etc.;
    also avoid partial-line printks except in bootup code.
    - checkpatch: Use exposed structs rather than typedefs.
    - checkpatch: Change some C99 comments to C89 comments.

    In addition, a couple of minor other changes are rolled in
    to this commit:

    - Add support for a "raise" instruction to cause SIGFPE, etc., to be raised.
    - Remove some compat code that is unnecessary when we fully eliminate
    some of the deprecated syscalls from the generic syscall ABI.
    - Update the tile_defconfig to reflect current config contents.

    Signed-off-by: Chris Metcalf
    Acked-by: Arnd Bergmann

    Chris Metcalf
     

05 Jun, 2010

1 commit

  • This change is the core kernel support for TILEPro and TILE64 chips.
    No driver support (except the console driver) is included yet.

    This includes the relevant Linux headers in asm/; the low-level
    low-level "Tile architecture" headers in arch/, which are
    shared with the hypervisor, etc., and are build-system agnostic;
    and the relevant hypervisor headers in hv/.

    Signed-off-by: Chris Metcalf
    Acked-by: Arnd Bergmann
    Acked-by: FUJITA Tomonori
    Reviewed-by: Paul Mundt

    Chris Metcalf