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

Commit f56f4400 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 kprobes single stepping
  [S390] tape: fix dbf usage
  [S390] dasd: provide a Sense Path Group ID ioctl
  [S390] ftrace: select HAVE_C_RECORDMCOUNT
  [S390] vdso: get rid of redefinition warnings
  [S390] facility detection: remove unused variable
  [S390] hypfs: Fix error handling in hypfs_diag initialization
  [S390] topology: fix cpu masks for topology=off case
  [S390] topology: add SCHED_MC config option
  [S390] Kconfig: add machine type number to code generation options
  [S390] Add z196 machine type to setup_hwcaps
parents 162164f7 9ec27080
Loading
Loading
Loading
Loading
+34 −27
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ config S390
	select HAVE_FUNCTION_TRACER
	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
	select HAVE_FTRACE_MCOUNT_RECORD
	select HAVE_C_RECORDMCOUNT
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_DYNAMIC_FTRACE
	select HAVE_FUNCTION_GRAPH_TRACER
@@ -144,7 +145,7 @@ source "kernel/time/Kconfig"
config 64BIT
	bool "64 bit kernel"
	help
	  Select this option if you have a 64 bit IBM zSeries machine
	  Select this option if you have an IBM z/Architecture machine
	  and want to use the 64 bit addressing mode.

config 32BIT
@@ -196,9 +197,18 @@ config HOTPLUG_CPU
	  can be controlled through /sys/devices/system/cpu/cpu#.
	  Say N if you want to disable CPU hotplug.

config SCHED_MC
	def_bool y
	prompt "Multi-core scheduler support"
	depends on SMP
	help
	  Multi-core scheduler support improves the CPU scheduler's decision
	  making when dealing with multi-core CPU chips at a cost of slightly
	  increased overhead in some places.

config SCHED_BOOK
	bool "Book scheduler support"
	depends on SMP
	depends on SMP && SCHED_MC
	help
	  Book scheduler support improves the CPU scheduler's decision making
	  when dealing with machines that have several books.
@@ -208,7 +218,7 @@ config MATHEMU
	depends on MARCH_G5
	help
	  This option is required for IEEE compliant floating point arithmetic
	  on older S/390 machines. Say Y unless you know your machine doesn't
	  on older ESA/390 machines. Say Y unless you know your machine doesn't
	  need this.

config COMPAT
@@ -237,8 +247,8 @@ config S390_EXEC_PROTECT
	  space programs and it also selects the addressing mode option above.
	  The kernel parameter noexec=on will enable this feature and also
	  switch the addressing modes, default is disabled. Enabling this (via
	  kernel parameter) on machines earlier than IBM System z9-109 EC/BC
	  will reduce system performance.
	  kernel parameter) on machines earlier than IBM System z9 this will
	  reduce system performance.

comment "Code generation options"

@@ -247,49 +257,46 @@ choice
	default MARCH_G5

config MARCH_G5
	bool "S/390 model G5 and G6"
	bool "System/390 model G5 and G6"
	depends on !64BIT
	help
	  Select this to build a 31 bit kernel that works
	  on all S/390 and zSeries machines.
	  on all ESA/390 and z/Architecture machines.

config MARCH_Z900
	bool "IBM eServer zSeries model z800 and z900"
	bool "IBM zSeries model z800 and z900"
	help
	  Select this to optimize for zSeries machines. This
	  will enable some optimizations that are not available
	  on older 31 bit only CPUs.
	  Select this to enable optimizations for model z800/z900 (2064 and
	  2066 series). This will enable some optimizations that are not
	  available on older ESA/390 (31 Bit) only CPUs.

config MARCH_Z990
	bool "IBM eServer zSeries model z890 and z990"
	bool "IBM zSeries model z890 and z990"
	help
	  Select this enable optimizations for model z890/z990.
	  This will be slightly faster but does not work on
	  older machines such as the z900.
	  Select this to enable optimizations for model z890/z990 (2084 and
	  2086 series). The kernel will be slightly faster but will not work
	  on older machines.

config MARCH_Z9_109
	bool "IBM System z9"
	help
	  Select this to enable optimizations for IBM System z9-109, IBM
	  System z9 Enterprise Class (z9 EC), and IBM System z9 Business
	  Class (z9 BC). The kernel will be slightly faster but will not
	  work on older machines such as the z990, z890, z900, and z800.
	  Select this to enable optimizations for IBM System z9 (2094 and
	  2096 series). The kernel will be slightly faster but will not work
	  on older machines.

config MARCH_Z10
	bool "IBM System z10"
	help
	  Select this to enable optimizations for IBM System z10. The
	  kernel will be slightly faster but will not work on older
	  machines such as the z990, z890, z900, z800, z9-109, z9-ec
	  and z9-bc.
	  Select this to enable optimizations for IBM System z10 (2097 and
	  2098 series). The kernel will be slightly faster but will not work
	  on older machines.

config MARCH_Z196
	bool "IBM zEnterprise 196"
	help
	  Select this to enable optimizations for IBM zEnterprise 196.
	  The kernel will be slightly faster but will not work on older
	  machines such as the z990, z890, z900, z800, z9-109, z9-ec,
	  z9-bc, z10-ec and z10-bc.
	  Select this to enable optimizations for IBM zEnterprise 196
	  (2817 series). The kernel will be slightly faster but will not work
	  on older machines.

endchoice

+11 −8
Original line number Diff line number Diff line
@@ -638,18 +638,21 @@ __init int hypfs_diag_init(void)
		pr_err("The hardware system does not support hypfs\n");
		return -ENODATA;
	}
	if (diag204_info_type == INFO_EXT) {
		rc = hypfs_dbfs_init();
		if (rc)
			return rc;
	}
	if (MACHINE_IS_LPAR) {
		rc = diag224_get_name_table();
		if (rc) {
		diag204_free_buffer();
			pr_err("The hardware system does not provide all "
			       "functions required by hypfs\n");
			debugfs_remove(dbfs_d204_file);
			return rc;
		}
	if (diag204_info_type == INFO_EXT) {
		rc = hypfs_dbfs_init();
		if (rc)
			diag204_free_buffer();
	}
	return rc;
	return 0;
}

void hypfs_diag_exit(void)
+22 −18
Original line number Diff line number Diff line
@@ -217,6 +217,25 @@ typedef struct dasd_symmio_parms {
	int rssd_result_len;
} __attribute__ ((packed)) dasd_symmio_parms_t;

/*
 * Data returned by Sense Path Group ID (SNID)
 */
struct dasd_snid_data {
	struct {
		__u8 group:2;
		__u8 reserve:2;
		__u8 mode:1;
		__u8 res:3;
	} __attribute__ ((packed)) path_state;
	__u8 pgid[11];
} __attribute__ ((packed));

struct dasd_snid_ioctl_data {
	struct dasd_snid_data data;
	__u8 path_mask;
} __attribute__ ((packed));


/********************************************************************************
 * SECTION: Definition of IOCTLs
 *
@@ -261,25 +280,10 @@ typedef struct dasd_symmio_parms {
/* Set Attributes (cache operations) */
#define BIODASDSATTR   _IOW(DASD_IOCTL_LETTER,2,attrib_data_t) 

/* Get Sense Path Group ID (SNID) data */
#define BIODASDSNID    _IOWR(DASD_IOCTL_LETTER, 1, struct dasd_snid_ioctl_data)

#define BIODASDSYMMIO  _IOWR(DASD_IOCTL_LETTER, 240, dasd_symmio_parms_t)

#endif				/* DASD_H */
/*
 * Overrides for Emacs so that we follow Linus's tabbing style.
 * Emacs will notice this stuff at the end of the file and automatically
 * adjust the settings for this buffer only.  This must remain at the end
 * of the file.
 * ---------------------------------------------------------------------------
 * Local variables:
 * c-indent-level: 4 
 * c-brace-imaginary-offset: 0
 * c-brace-offset: -4
 * c-argdecl-indent: 4
 * c-label-offset: -4
 * c-continued-statement-offset: 4
 * c-continued-brace-offset: 0
 * indent-tabs-mode: nil
 * tab-width: 8
 * End:
 */
+3 −3
Original line number Diff line number Diff line
@@ -66,9 +66,9 @@ int main(void)
	DEFINE(__VDSO_ECTG_BASE, offsetof(struct vdso_per_cpu_data, ectg_timer_base));
	DEFINE(__VDSO_ECTG_USER, offsetof(struct vdso_per_cpu_data, ectg_user_time));
	/* constants used by the vdso */
	DEFINE(CLOCK_REALTIME, CLOCK_REALTIME);
	DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC);
	DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC);
	DEFINE(__CLOCK_REALTIME, CLOCK_REALTIME);
	DEFINE(__CLOCK_MONOTONIC, CLOCK_MONOTONIC);
	DEFINE(__CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC);
	BLANK();
	/* constants for SIGP */
	DEFINE(__SIGP_STOP, sigp_stop);
+0 −2
Original line number Diff line number Diff line
@@ -282,8 +282,6 @@ static noinline __init void setup_facility_list(void)
static noinline __init void setup_hpage(void)
{
#ifndef CONFIG_DEBUG_PAGEALLOC
	unsigned int facilities;

	if (!test_facility(2) || !test_facility(8))
		return;
	S390_lowcore.machine_flags |= MACHINE_FLAG_HPAGE;
Loading