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

Commit 9fe3b64b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] qeth: avoid use of include/asm-s390
  [S390] dont use kthread for smp_rescan_cpus().
  [S390] virtio console: fix section mismatch warning.
  [S390] cio: Include linux/string.h in schid.h.
  [S390] qdio: fix section mismatch bug.
  [S390] stp: fix section mismatch warning.
  [S390] Remove diag 0x260 call from memory detection.
  [S390] qdio: make sure qdr is aligned to page size
  [S390] Add support for memory hot-remove.
  [S390] Wire up new syscalls.
  [S390] cio: Memory allocation for idset changed.
  [S390] qeth: preallocated qeth header for hiper socket
  [S390] Optimize storage key operations for anon pages
  [S390] nohz/sclp: disable timer on synchronous waits.
  [S390] ipl: Reboot from alternate device does not work when booting from file
  [S390] dasd: Add support for enhanced VM UID
  [S390] Remove last P390 trace.
parents 8b6d8c59 ab4227cb
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -317,6 +317,9 @@ config ARCH_ENABLE_MEMORY_HOTPLUG
	def_bool y
	depends on SPARSEMEM

config ARCH_ENABLE_MEMORY_HOTREMOVE
	def_bool y

source "mm/Kconfig"

comment "I/O subsystem configuration"
+37 −0
Original line number Diff line number Diff line
@@ -1732,3 +1732,40 @@ compat_sys_timerfd_gettime_wrapper:
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# struct compat_itimerspec *
	jg	compat_sys_timerfd_gettime

	.globl compat_sys_signalfd4_wrapper
compat_sys_signalfd4_wrapper:
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# compat_sigset_t *
	llgfr	%r4,%r4			# compat_size_t
	lgfr	%r5,%r5			# int
	jg	compat_sys_signalfd4

	.globl sys_eventfd2_wrapper
sys_eventfd2_wrapper:
	llgfr	%r2,%r2			# unsigned int
	lgfr	%r3,%r3			# int
	jg	sys_eventfd2

	.globl	sys_inotify_init1_wrapper
sys_inotify_init1_wrapper:
	lgfr	%r2,%r2			# int
	jg	sys_inotify_init1

	.globl	sys_pipe2_wrapper
sys_pipe2_wrapper:
	llgtr	%r2,%r2			# u32 *
	lgfr	%r3,%r3			# int
	jg	sys_pipe2		# branch to system call

	.globl	sys_dup3_wrapper
sys_dup3_wrapper:
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned int
	lgfr	%r4,%r4			# int
	jg	sys_dup3		# branch to system call

	.globl	sys_epoll_create1_wrapper
sys_epoll_create1_wrapper:
	lgfr	%r2,%r2			# int
	jg	sys_epoll_create1	# branch to system call
+4 −1
Original line number Diff line number Diff line
@@ -1705,7 +1705,10 @@ void __init setup_ipl(void)

void __init ipl_update_parameters(void)
{
	if (diag308(DIAG308_STORE, &ipl_block) == DIAG308_RC_OK)
	int rc;

	rc = diag308(DIAG308_STORE, &ipl_block);
	if ((rc == DIAG308_RC_OK) || (rc == DIAG308_RC_NOCONFIG))
		diag308_set_works = 1;
}

+0 −23
Original line number Diff line number Diff line
@@ -9,27 +9,6 @@
#include <asm/sclp.h>
#include <asm/setup.h>

static int memory_fast_detect(struct mem_chunk *chunk)
{
	unsigned long val0 = 0;
	unsigned long val1 = 0xc;
	int rc = -EOPNOTSUPP;

	if (ipl_flags & IPL_NSS_VALID)
		return -EOPNOTSUPP;
	asm volatile(
		"	diag	%1,%2,0x260\n"
		"0:	lhi	%0,0\n"
		"1:\n"
		EX_TABLE(0b,1b)
		: "+d" (rc), "+d" (val0), "+d" (val1) : : "cc");

	if (rc || val0 != val1)
		return -EOPNOTSUPP;
	chunk->size = val0 + 1;
	return 0;
}

static inline int tprot(unsigned long addr)
{
	int rc = -EFAULT;
@@ -84,8 +63,6 @@ void detect_memory_layout(struct mem_chunk chunk[])
	unsigned long flags, cr0;

	memset(chunk, 0, MEMORY_CHUNKS * sizeof(struct mem_chunk));
	if (memory_fast_detect(&chunk[0]) == 0)
		return;
	/* Disable IRQs, DAT and low address protection so tprot does the
	 * right thing and we don't get scheduled away with low address
	 * protection disabled.
+6 −0
Original line number Diff line number Diff line
@@ -330,3 +330,9 @@ SYSCALL(sys_eventfd,sys_eventfd,sys_eventfd_wrapper)
SYSCALL(sys_timerfd_create,sys_timerfd_create,sys_timerfd_create_wrapper)
SYSCALL(sys_timerfd_settime,sys_timerfd_settime,compat_sys_timerfd_settime_wrapper) /* 320 */
SYSCALL(sys_timerfd_gettime,sys_timerfd_gettime,compat_sys_timerfd_gettime_wrapper)
SYSCALL(sys_signalfd4,sys_signalfd4,compat_sys_signalfd4_wrapper)
SYSCALL(sys_eventfd2,sys_eventfd2,sys_eventfd2_wrapper)
SYSCALL(sys_inotify_init1,sys_inotify_init1,sys_inotify_init1_wrapper)
SYSCALL(sys_pipe2,sys_pipe2,sys_pipe2_wrapper) /* 325 */
SYSCALL(sys_dup3,sys_dup3,sys_dup3_wrapper)
SYSCALL(sys_epoll_create1,sys_epoll_create1,sys_epoll_create1_wrapper)
Loading