[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 10/10] mipsn32-linux-user: Configure the archite
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 10/10] mipsn32-linux-user: Configure the architecture properly |
Date: |
Mon, 11 Feb 2013 18:15:56 +0000 |
On 10 February 2013 18:30, Richard Henderson <address@hidden> wrote:
> N32 is a 64-bit cpu with a 32-bit address space. We have
> existing cpp defines for this situation, but weren't using them.
>
> This does mean that the linux-user/mipsn32 directory must be
> merged with the linux-user/mips64 directory, and differences
> must be resolved via ifdefs.
>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> configure | 3 +-
> linux-user/mips64/syscall.h | 14 +-
> linux-user/mips64/syscall_nr.h | 920
> +++++++++++++++++++++++++------------
> linux-user/mipsn32/syscall.h | 224 ---------
> linux-user/mipsn32/syscall_nr.h | 311 -------------
> linux-user/mipsn32/target_signal.h | 29 --
> linux-user/mipsn32/termbits.h | 245 ----------
> 7 files changed, 626 insertions(+), 1120 deletions(-)
This is a pretty huge patch. Is it literally just moving
code from the mipsn32/ headers into suitably ifdeffed
blocks in the mips64 headers? (I ask to save me the
effort of reviewing all 600 lines :-))
> delete mode 100644 linux-user/mipsn32/syscall.h
> delete mode 100644 linux-user/mipsn32/syscall_nr.h
> delete mode 100644 linux-user/mipsn32/target_signal.h
> delete mode 100644 linux-user/mipsn32/termbits.h
>
> diff --git a/configure b/configure
> index f36acdd..b5e4753 100755
> --- a/configure
> +++ b/configure
> @@ -3937,9 +3937,10 @@ case "$target_arch2" in
> target_nptl="yes"
> ;;
> mipsn32|mipsn32el)
> - TARGET_ARCH=mipsn32
> + TARGET_ARCH=mips64
> TARGET_BASE_ARCH=mips
> echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
> + echo "TARGET_ABI32=y" >> $config_target_mak
> ;;
> mips64|mips64el)
> TARGET_ARCH=mips64
> diff --git a/linux-user/mips64/syscall.h b/linux-user/mips64/syscall.h
> index e436ea5..ebe98f2 100644
> --- a/linux-user/mips64/syscall.h
> +++ b/linux-user/mips64/syscall.h
> @@ -4,15 +4,15 @@
>
> struct target_pt_regs {
> /* Saved main processor registers. */
> - abi_ulong regs[32];
> + target_ulong regs[32];
>
> /* Saved special registers. */
> - abi_ulong cp0_status;
> - abi_ulong lo;
> - abi_ulong hi;
> - abi_ulong cp0_badvaddr;
> - abi_ulong cp0_cause;
> - abi_ulong cp0_epc;
> + target_ulong cp0_status;
> + target_ulong lo;
> + target_ulong hi;
> + target_ulong cp0_badvaddr;
> + target_ulong cp0_cause;
> + target_ulong cp0_epc;
> };
Could we lose the hardcoded tabs here since we're changing
nearly every line in the struct anyway?
thanks
-- PMM