On 10 February 2013 18:30, Richard Henderson <r...@twiddle.net> 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 <r...@twiddle.net> > --- > 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