Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c27b9a2e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] fix boot failures with compressed kernels
  [S390] fix broken proc interface for sclp_async
  [S390] sclp: avoid 64 bit division
  [S390] dasd: check tsb validity
  [S390] dasd: fix alignment of transport mode recovery TCW
  [S390] system.h: Fix compile error for 1 and 2 byte cmpxchg
  [S390] smp: fix lowcore allocation
  [S390] zcore: CPU registers are not saved under LPAR
parents 20dba459 06c0dd72
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -24,8 +24,8 @@
/* Symbols defined by linker scripts */
extern char input_data[];
extern int input_len;
extern int _text;
extern int _end;
extern char _text, _end;
extern char _bss, _ebss;

static void error(char *m);

@@ -129,12 +129,12 @@ unsigned long decompress_kernel(void)
	unsigned long output_addr;
	unsigned char *output;

	check_ipl_parmblock((void *) 0, (unsigned long) output + SZ__bss_start);
	memset(&_bss, 0, &_ebss - &_bss);
	free_mem_ptr = (unsigned long)&_end;
	free_mem_end_ptr = free_mem_ptr + HEAP_SIZE;
	output = (unsigned char *) ((free_mem_end_ptr + 4095UL) & -4096UL);

	check_ipl_parmblock((void *) 0, (unsigned long) output + SZ__bss_start);

#ifdef CONFIG_BLK_DEV_INITRD
	/*
	 * Move the initrd right behind the end of the decompressed
+5 −4
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ extern void pfault_fini(void);
#endif /* CONFIG_PFAULT */

extern void cmma_init(void);
extern int memcpy_real(void *, void *, size_t);

#define finish_arch_switch(prev) do {					     \
	set_fs(current->thread.mm_segment);				     \
@@ -218,8 +219,8 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
			"	l	%0,%2\n"
			"0:	nr	%0,%5\n"
			"	lr	%1,%0\n"
			"	or	%0,%2\n"
			"	or	%1,%3\n"
			"	or	%0,%3\n"
			"	or	%1,%4\n"
			"	cs	%0,%1,%2\n"
			"	jnl	1f\n"
			"	xr	%1,%0\n"
@@ -239,8 +240,8 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
			"	l	%0,%2\n"
			"0:	nr	%0,%5\n"
			"	lr	%1,%0\n"
			"	or	%0,%2\n"
			"	or	%1,%3\n"
			"	or	%0,%3\n"
			"	or	%1,%4\n"
			"	cs	%0,%1,%2\n"
			"	jnl	1f\n"
			"	xr	%1,%0\n"
+3 −0
Original line number Diff line number Diff line
@@ -517,7 +517,10 @@ startup:
	lhi	%r1,2			# mode 2 = esame (dump)
	sigp	%r1,%r0,0x12		# switch to esame mode
	sam64				# switch to 64 bit mode
	larl	%r13,4f
	lmh	%r0,%r15,0(%r13)	# clear high-order half
	jg	startup_continue
4:	.fill	16,4,0x0
#else
	mvi	__LC_AR_MODE_ID,0	# set ESA flag (mode 0)
	l	%r13,4f-.LPG0(%r13)
+0 −2
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ startup_continue:
	larl	%r1,sched_clock_base_cc
	mvc	0(8,%r1),__LC_LAST_UPDATE_CLOCK
	larl	%r13,.LPG1		# get base
	lmh	%r0,%r15,.Lzero64-.LPG1(%r13)	# clear high-order half
	lctlg	%c0,%c15,.Lctl-.LPG1(%r13)	# load control registers
	lg	%r12,.Lparmaddr-.LPG1(%r13)	# pointer to parameter area
					# move IPL device to lowcore
@@ -67,7 +66,6 @@ startup_continue:
.L4malign:.quad 0xffffffffffc00000
.Lscan2g:.quad	0x80000000 + 0x20000 - 8	# 2GB + 128K - 8
.Lnop:	.long	0x07000700
.Lzero64:.fill	16,4,0x0
.Lparmaddr:
	.quad	PARMAREA
	.align	64
+2 −2
Original line number Diff line number Diff line
@@ -401,7 +401,7 @@ setup_lowcore(void)
	 * Setup lowcore for boot cpu
	 */
	BUILD_BUG_ON(sizeof(struct _lowcore) != LC_PAGES * 4096);
	lc = __alloc_bootmem(LC_PAGES * PAGE_SIZE, LC_PAGES * PAGE_SIZE, 0);
	lc = __alloc_bootmem_low(LC_PAGES * PAGE_SIZE, LC_PAGES * PAGE_SIZE, 0);
	lc->restart_psw.mask = PSW_BASE_BITS | PSW_DEFAULT_KEY;
	lc->restart_psw.addr =
		PSW_ADDR_AMODE | (unsigned long) restart_int_handler;
@@ -433,7 +433,7 @@ setup_lowcore(void)
#ifndef CONFIG_64BIT
	if (MACHINE_HAS_IEEE) {
		lc->extended_save_area_addr = (__u32)
			__alloc_bootmem(PAGE_SIZE, PAGE_SIZE, 0);
			__alloc_bootmem_low(PAGE_SIZE, PAGE_SIZE, 0);
		/* enable extended save area */
		__ctl_set_bit(14, 29);
	}
Loading