arch/tile: factor out <arch/opcode.h> header
The kernel code was using some <asm> headers that included a mix of hardware-specific information (typically found in Tilera <arch> 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: <arch/opcode.h>. This header is then exported to userspace along with the other <arch> 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 (<asm/tile-desc.h> with _32 and _64 variants), replaces the old <asm/opcode-tile*.h> and <asm/opcode_constants*.h> 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 <cmetcalf@tilera.com>
This commit is contained in:
@@ -19,13 +19,12 @@
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <asm/opcode-tile.h>
|
||||
#include <asm/opcode_constants.h>
|
||||
#include <asm/stack.h>
|
||||
#include <asm/traps.h>
|
||||
|
||||
#include <arch/interrupts.h>
|
||||
#include <arch/spr_def.h>
|
||||
#include <arch/opcode.h>
|
||||
|
||||
void __init trap_init(void)
|
||||
{
|
||||
@@ -135,7 +134,7 @@ static int special_ill(bundle_bits bundle, int *sigp, int *codep)
|
||||
if (get_UnaryOpcodeExtension_X1(bundle) != ILL_UNARY_OPCODE_X1)
|
||||
return 0;
|
||||
#else
|
||||
if (bundle & TILE_BUNDLE_Y_ENCODING_MASK)
|
||||
if (bundle & TILEPRO_BUNDLE_Y_ENCODING_MASK)
|
||||
return 0;
|
||||
if (get_Opcode_X1(bundle) != SHUN_0_OPCODE_X1)
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user