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

Commit 447e1363 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] signal: use set_restore_sigmask() helper
  [S390] smp: remove pointless comments in startup_secondary()
  [S390] qdio: Use kstrtoul_from_user
  [S390] sclp_async: Use kstrtoul_from_user
  [S390] exec: remove redundant set_fs(USER_DS)
  [S390] cpu hotplug: on cpu start wait until being marked active
  [S390] signal: convert to use set_current_blocked()
  [S390] asm offsets: fix coding style
  [S390] Add support for IBM zEnterprise 114
  [S390] dasd: check if raw track access is supported
  [S390] Use diagnose 308 for system reset
  [S390] Export store_status() function
  [S390] dasd: use vmalloc for statistics input buffer
  [S390] Add PSW restart shutdown trigger
  [S390] missing return in page_table_alloc_pgste
  [S390] qdio: 2nd stage retry on SIGA-W busy conditions
parents 82de9a0c 9e8ed3ae
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -274,11 +274,11 @@ config MARCH_Z10
	  on older machines.
	  on older machines.


config MARCH_Z196
config MARCH_Z196
	bool "IBM zEnterprise 196"
	bool "IBM zEnterprise 114 and 196"
	help
	help
	  Select this to enable optimizations for IBM zEnterprise 196
	  Select this to enable optimizations for IBM zEnterprise 114 and 196
	  (2817 series). The kernel will be slightly faster but will not work
	  (2818 and 2817 series). The kernel will be slightly faster but will
	  on older machines.
	  not work on older machines.


endchoice
endchoice


+1 −0
Original line number Original line Diff line number Diff line
@@ -167,5 +167,6 @@ enum diag308_rc {
};
};


extern int diag308(unsigned long subcode, void *addr);
extern int diag308(unsigned long subcode, void *addr);
extern void diag308_reset(void);


#endif /* _ASM_S390_IPL_H */
#endif /* _ASM_S390_IPL_H */
+9 −2
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ void system_call(void);
void pgm_check_handler(void);
void pgm_check_handler(void);
void mcck_int_handler(void);
void mcck_int_handler(void);
void io_int_handler(void);
void io_int_handler(void);
void psw_restart_int_handler(void);


#ifdef CONFIG_32BIT
#ifdef CONFIG_32BIT


@@ -150,7 +151,10 @@ struct _lowcore {
	 */
	 */
	__u32	ipib;				/* 0x0e00 */
	__u32	ipib;				/* 0x0e00 */
	__u32	ipib_checksum;			/* 0x0e04 */
	__u32	ipib_checksum;			/* 0x0e04 */
	__u8	pad_0x0e08[0x0f00-0x0e08];	/* 0x0e08 */

	/* 64 bit save area */
	__u64	save_area_64;			/* 0x0e08 */
	__u8	pad_0x0e10[0x0f00-0x0e10];	/* 0x0e10 */


	/* Extended facility list */
	/* Extended facility list */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
@@ -286,7 +290,10 @@ struct _lowcore {
	 */
	 */
	__u64	ipib;				/* 0x0e00 */
	__u64	ipib;				/* 0x0e00 */
	__u32	ipib_checksum;			/* 0x0e08 */
	__u32	ipib_checksum;			/* 0x0e08 */
	__u8	pad_0x0e0c[0x0f00-0x0e0c];	/* 0x0e0c */

	/* 64 bit save area */
	__u64	save_area_64;			/* 0x0e0c */
	__u8	pad_0x0e14[0x0f00-0x0e14];	/* 0x0e14 */


	/* Extended facility list */
	/* Extended facility list */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
	__u64	stfle_fac_list[32];		/* 0x0f00 */
+0 −2
Original line number Original line Diff line number Diff line
@@ -119,14 +119,12 @@ struct stack_frame {
 * Do necessary setup to start up a new thread.
 * Do necessary setup to start up a new thread.
 */
 */
#define start_thread(regs, new_psw, new_stackp) do {		\
#define start_thread(regs, new_psw, new_stackp) do {		\
	set_fs(USER_DS);					\
	regs->psw.mask	= psw_user_bits;			\
	regs->psw.mask	= psw_user_bits;			\
	regs->psw.addr	= new_psw | PSW_ADDR_AMODE;		\
	regs->psw.addr	= new_psw | PSW_ADDR_AMODE;		\
	regs->gprs[15]	= new_stackp;				\
	regs->gprs[15]	= new_stackp;				\
} while (0)
} while (0)


#define start_thread31(regs, new_psw, new_stackp) do {		\
#define start_thread31(regs, new_psw, new_stackp) do {		\
	set_fs(USER_DS);					\
	regs->psw.mask	= psw_user32_bits;			\
	regs->psw.mask	= psw_user32_bits;			\
	regs->psw.addr	= new_psw | PSW_ADDR_AMODE;		\
	regs->psw.addr	= new_psw | PSW_ADDR_AMODE;		\
	regs->gprs[15]	= new_stackp;				\
	regs->gprs[15]	= new_stackp;				\
+1 −0
Original line number Original line Diff line number Diff line
@@ -113,6 +113,7 @@ extern void pfault_fini(void);


extern void cmma_init(void);
extern void cmma_init(void);
extern int memcpy_real(void *, void *, size_t);
extern int memcpy_real(void *, void *, size_t);
extern void copy_to_absolute_zero(void *dest, void *src, size_t count);


#define finish_arch_switch(prev) do {					     \
#define finish_arch_switch(prev) do {					     \
	set_fs(current->thread.mm_segment);				     \
	set_fs(current->thread.mm_segment);				     \
Loading