All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aleksandar Markovic <aleksandar.markovic@rt-rk.com>
To: qemu-devel@nongnu.org
Cc: laurent@vivier.eu, riku.voipio@iki.fi,
	philippe.mathieu.daude@gmail.com, aurelien@aurel32.net,
	richard.henderson@linaro.org, amarkovic@wavecomp.com,
	smarkovic@wavecomp.com, pjovanovic@wavecomp.com,
	pburton@wavecomp.com
Subject: [Qemu-devel] [PATCH v5 08/76] elf: Add ELF flags for MIPS machine variants
Date: Mon, 30 Jul 2018 18:11:41 +0200	[thread overview]
Message-ID: <1532967169-22265-9-git-send-email-aleksandar.markovic@rt-rk.com> (raw)
In-Reply-To: <1532967169-22265-1-git-send-email-aleksandar.markovic@rt-rk.com>

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Add MIPS machine variants ELF flags so that the emulation behavior
can be adjusted if needed.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Signed-off-by: Stefan Markovic <smarkovic@wavecomp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/elf.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/include/elf.h b/include/elf.h
index c8aaa2a..2c4fe7a 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -62,6 +62,29 @@ typedef int64_t  Elf64_Sxword;
 #define EF_MIPS_NAN2008   0x00000400
 #define EF_MIPS_ARCH      0xf0000000
 
+/* MIPS machine variant */
+#define EF_MIPS_MACH_NONE     0x00000000  /* A standard MIPS implementation  */
+#define EF_MIPS_MACH_3900     0x00810000  /* Toshiba R3900                   */
+#define EF_MIPS_MACH_4010     0x00820000  /* LSI R4010                       */
+#define EF_MIPS_MACH_4100     0x00830000  /* NEC VR4100                      */
+#define EF_MIPS_MACH_4650     0x00850000  /* MIPS R4650                      */
+#define EF_MIPS_MACH_4120     0x00870000  /* NEC VR4120                      */
+#define EF_MIPS_MACH_4111     0x00880000  /* NEC VR4111/VR4181               */
+#define EF_MIPS_MACH_SB1      0x008a0000  /* Broadcom SB-1                   */
+#define EF_MIPS_MACH_OCTEON   0x008b0000  /* Cavium Networks Octeon          */
+#define EF_MIPS_MACH_XLR      0x008c0000  /* RMI Xlr                         */
+#define EF_MIPS_MACH_OCTEON2  0x008d0000  /* Cavium Networks Octeon2         */
+#define EF_MIPS_MACH_OCTEON3  0x008e0000  /* Cavium Networks Octeon3         */
+#define EF_MIPS_MACH_5400     0x00910000  /* NEC VR5400                      */
+#define EF_MIPS_MACH_5900     0x00920000  /* MIPS R5900                      */
+#define EF_MIPS_MACH_5500     0x00980000  /* NEC VR5500                      */
+#define EF_MIPS_MACH_9000     0x00990000  /* Unknown                         */
+#define EF_MIPS_MACH_LS2E     0x00a00000  /* ST Microelectronics Loongson 2E */
+#define EF_MIPS_MACH_LS2F     0x00a10000  /* ST Microelectronics Loongson 2F */
+#define EF_MIPS_MACH_LS3A     0x00a20000  /* Loongson 3A                     */
+#define EF_MIPS_MACH          0x00ff0000  /* EF_MIPS_MACH_xxx selection mask */
+
+
 /* These constants define the different elf file types */
 #define ET_NONE   0
 #define ET_REL    1
-- 
2.7.4

  parent reply	other threads:[~2018-07-30 16:14 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-30 16:11 [Qemu-devel] [PATCH v5 00/76] Add nanoMIPS support to QEMU Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 01/76] target/mips: Update maintainer's email addresses Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 02/76] target/mips: Avoid case statements formulated by ranges Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 03/76] target/mips: Update some CP0 registers bit definitions Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 04/76] target/mips: Add CP0 BadInstrX register Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 05/76] target/mips: Don't update BadVAddr register in Debug Mode Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 06/76] target/mips: Check ELPA flag only in some cases of MFHC0 and MTHC0 Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 07/76] elf: Remove duplicate preprocessor constant definition Aleksandar Markovic
2018-07-30 16:49   ` Laurent Vivier
2018-08-01 18:51     ` Aleksandar Markovic
2018-08-01 19:09       ` Aleksandar Markovic
2018-08-01 19:37       ` Peter Maydell
2018-08-01 20:01         ` Aleksandar Markovic
2018-08-01 20:31           ` Laurent Vivier
2018-07-30 16:11 ` Aleksandar Markovic [this message]
2018-07-30 16:56   ` [Qemu-devel] [PATCH v5 08/76] elf: Add ELF flags for MIPS machine variants Laurent Vivier
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 09/76] linux-user: Update MIPS syscall numbers up to kernel 4.18 headers Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 10/76] linux-user: Add preprocessor availability control to some syscalls Aleksandar Markovic
2018-07-31 19:14   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 11/76] target/mips: Add preprocessor constants for nanoMIPS Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 12/76] target/mips: Add nanoMIPS base instruction set opcodes Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 13/76] target/mips: Add nanoMIPS DSP ASE opcodes Aleksandar Markovic
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 14/76] target/mips: Add gen_op_addr_addi() Aleksandar Markovic
2018-07-30 20:34   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 15/76] target/mips: Fix two instances of shadow variables Aleksandar Markovic
2018-07-30 20:36   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 16/76] target/mips: Mark switch fallthroughs with interpretable comments Aleksandar Markovic
2018-07-30 20:37   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 17/76] target/mips: Add placeholder and invocation of decode_nanomips_opc() Aleksandar Markovic
2018-07-30 20:37   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 18/76] target/mips: Add nanoMIPS decoding and extraction utilities Aleksandar Markovic
2018-07-30 20:38   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 19/76] target/mips: Add emulation of nanoMIPS 16-bit arithmetic instructions Aleksandar Markovic
2018-07-30 20:42   ` Richard Henderson
2018-08-01 16:02     ` Aleksandar Markovic
2018-08-01 17:11       ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 20/76] target/mips: Add emulation of nanoMIPS 16-bit branch instructions Aleksandar Markovic
2018-07-30 20:56   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 21/76] target/mips: Add emulation of nanoMIPS 16-bit shift instructions Aleksandar Markovic
2018-07-30 20:57   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 22/76] target/mips: Add emulation of nanoMIPS 16-bit misc instructions Aleksandar Markovic
2018-07-30 21:01   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 23/76] target/mips: Add emulation of nanoMIPS 16-bit load and store instructions Aleksandar Markovic
2018-07-30 21:03   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 24/76] target/mips: Add emulation of nanoMIPS 16-bit logic instructions Aleksandar Markovic
2018-07-31 13:22   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 25/76] target/mips: Add emulation of nanoMIPS 16-bit save and restore instructions Aleksandar Markovic
2018-07-31 13:35   ` Richard Henderson
2018-07-30 16:11 ` [Qemu-devel] [PATCH v5 26/76] target/mips: Add emulation of some common nanoMIPS 32-bit instructions Aleksandar Markovic
2018-07-31 13:49   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 27/76] target/mips: Add emulation of nanoMIPS instructions MOVE.P and MOVE.PREV Aleksandar Markovic
2018-07-31 13:55   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 28/76] target/mips: Add emulation of nanoMIPS 48-bit instructions Aleksandar Markovic
2018-07-31 14:00   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 29/76] target/mips: Add emulation of nanoMIPS FP instructions Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 30/76] target/mips: Add emulation of misc nanoMIPS instructions (pool32a0) Aleksandar Markovic
2018-07-31 14:01   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 31/76] target/mips: Add emulation of misc nanoMIPS instructions (pool32axf) Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 32/76] target/mips: Add emulation of misc nanoMIPS instructions (p_lsx) Aleksandar Markovic
2018-07-31 16:54   ` Richard Henderson
2018-08-02 13:17     ` Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 33/76] target/mips: Implement emulation of nanoMIPS ROTX instruction Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 34/76] target/mips: Implement emulation of nanoMIPS EXTW instruction Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 35/76] target/mips: Add emulation of nanoMIPS 32-bit load and store instructions Aleksandar Markovic
2018-07-31 17:04   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 36/76] target/mips: Add emulation of nanoMIPS 32-bit branch instructions Aleksandar Markovic
2018-07-31 17:16   ` Richard Henderson
2018-08-15 13:21     ` Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 37/76] target/mips: Implement MT ASE support for nanoMIPS Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 38/76] target/mips: Add emulation of DSP ASE for nanoMIPS - part 1 Aleksandar Markovic
2018-07-31 17:19   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 39/76] target/mips: Add emulation of DSP ASE for nanoMIPS - part 2 Aleksandar Markovic
2018-07-31 17:22   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 40/76] target/mips: Add emulation of DSP ASE for nanoMIPS - part 3 Aleksandar Markovic
2018-07-31 18:38   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 41/76] target/mips: Add emulation of DSP ASE for nanoMIPS - part 4 Aleksandar Markovic
2018-07-31 18:50   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 42/76] target/mips: Add emulation of DSP ASE for nanoMIPS - part 5 Aleksandar Markovic
2018-07-31 18:51   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 43/76] target/mips: Add emulation of DSP ASE for nanoMIPS - part 6 Aleksandar Markovic
2018-07-31 18:58   ` Richard Henderson
2018-07-31 19:41     ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 44/76] target/mips: Add handling of branch delay slots for nanoMIPS Aleksandar Markovic
2018-07-31 19:03   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 45/76] target/mips: Implement emulation of nanoMIPS LLWP/SCWP pair Aleksandar Markovic
2018-07-31 19:38   ` Richard Henderson
2018-08-02 12:29     ` Aleksandar Markovic
2018-08-02 17:28       ` Richard Henderson
2018-08-02 17:54         ` Aleksandar Markovic
2018-08-03 10:48           ` Aleksandar Rikalo
2018-08-03 20:28             ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 46/76] target/mips: Add updating BadInstr, BadInstrP, BadInstrX for nanoMIPS Aleksandar Markovic
2018-07-31 19:16   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 47/76] target/mips: Implement CP0 Config0.WR bit functionality Aleksandar Markovic
2018-07-31 19:17   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 48/76] target/mips: Adjust behavior of Config3's ISAOnExc bit for nanoMIPS Aleksandar Markovic
2018-07-31 19:18   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 49/76] target/mips: Adjust exception_resume_pc() " Aleksandar Markovic
2018-07-31 19:18   ` Richard Henderson
2018-08-02 12:01     ` Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 50/76] target/mips: Adjust set_hflags_for_handler() " Aleksandar Markovic
2018-07-31 19:19   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 51/76] target/mips: Adjust set_pc() " Aleksandar Markovic
2018-07-31 19:20   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 52/76] target/mips: Fix ERET/ERETNC behavior related to ADEL exception Aleksandar Markovic
2018-07-31 19:26   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 53/76] elf: Add nanoMIPS specific variations in ELF header fields Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 54/76] elf: Relax MIPS' elf_check_arch() to accept EM_NANOMIPS too Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 55/76] elf: Don't check FCR31_NAN2008 bit for nanoMIPS Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 56/76] mips_malta: Add basic nanoMIPS boot code for MIPS' Malta Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 57/76] mips_malta: Setup GT64120 BARs in nanoMIPS bootloader Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 58/76] mips_malta: Fix semihosting argument passing for nanoMIPS bare metal Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 59/76] gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub Aleksandar Markovic
2018-07-31 19:28   ` Richard Henderson
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 60/76] gdbstub: Add XML support for GDB for nanoMIPS Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 61/76] target/mips: Add definition of nanoMIPS I7200 CPU Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 62/76] linux-user: Add syscall numbers for nanoMIPS Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 63/76] linux-user: Add target_signal.h header " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 64/76] linux-user: Add termbits.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 65/76] linux-user: Update syscall_defs.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 66/76] linux-user: Add target_fcntl.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 67/76] linux-user: Add sockbits.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 68/76] linux-user: Add target_syscall.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 69/76] linux-user: Add target_cpu.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 70/76] linux-user: Add target_structs.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 71/76] linux-user: Add target_elf.h " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 72/76] linux-user: Add signal.c " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 73/76] linux-user: Add support for nanoMIPS signal trampoline Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 74/76] linux-user: Add cpu_loop.c for nanoMIPS Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 75/76] linux-user: Amend sigaction syscall support " Aleksandar Markovic
2018-07-30 16:12 ` [Qemu-devel] [PATCH v5 76/76] linux-user: Add nanoMIPS linux user mode configuration support Aleksandar Markovic
2018-07-30 16:41 ` [Qemu-devel] [PATCH v5 00/76] Add nanoMIPS support to QEMU Aleksandar Markovic
2018-07-31 19:43 ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1532967169-22265-9-git-send-email-aleksandar.markovic@rt-rk.com \
    --to=aleksandar.markovic@rt-rk.com \
    --cc=amarkovic@wavecomp.com \
    --cc=aurelien@aurel32.net \
    --cc=laurent@vivier.eu \
    --cc=pburton@wavecomp.com \
    --cc=philippe.mathieu.daude@gmail.com \
    --cc=pjovanovic@wavecomp.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=riku.voipio@iki.fi \
    --cc=smarkovic@wavecomp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.