linux-next: manual merge of the tile tree with Linus' tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chris,

Today's linux-next merge of the tile tree got a conflict in
arch/tile/kernel/single_step.c between commit cdd8e16feba8 ("arch/tile:
return SIGBUS for addresses that are unaligned AND invalid") from Linus'
tree and commit 25c5acbdcc06 ("arch/tile: support building big-endian
kernel") from the tile tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx

diff --cc arch/tile/kernel/single_step.c
index 9efbc13,8935deb..0000000
--- a/arch/tile/kernel/single_step.c
+++ b/arch/tile/kernel/single_step.c
@@@ -153,28 -153,6 +153,25 @@@ static tile_bundle_bits rewrite_load_st
  	if (((unsigned long)addr % size) == 0)
  		return bundle;
  
 +	/*
 +	 * Return SIGBUS with the unaligned address, if requested.
 +	 * Note that we return SIGBUS even for completely invalid addresses
 +	 * as long as they are in fact unaligned; this matches what the
 +	 * tilepro hardware would be doing, if it could provide us with the
 +	 * actual bad address in an SPR, which it doesn't.
 +	 */
 +	if (unaligned_fixup == 0) {
 +		siginfo_t info = {
 +			.si_signo = SIGBUS,
 +			.si_code = BUS_ADRALN,
 +			.si_addr = addr
 +		};
 +		trace_unhandled_signal("unaligned trap", regs,
 +				       (unsigned long)addr, SIGBUS);
 +		force_sig_info(info.si_signo, &info, current);
 +		return (tilepro_bundle_bits) 0;
 +	}
 +
- #ifndef __LITTLE_ENDIAN
- # error We assume little-endian representation with copy_xx_user size 2 here
- #endif
  	/* Handle unaligned load/store */
  	if (mem_op == MEMOP_LOAD || mem_op == MEMOP_LOAD_POSTINCR) {
  		unsigned short val_16;

Attachment: pgpO1rj6e2kpw.pgp
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux