qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]