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

Commit b026188e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (28 commits)
  [S390] rework of channel measurement facility.
  [S390] appldata enhancements.
  [S390] Add vmpanic parameter.
  [S390] add PAV support to the dasd driver.
  [S390] remove export of sys_call_table
  [S390] remove unused macros from binfmt_elf32.c
  [S390] fix duplicate export of overflow{ug}id
  [S390] cio chpid offline.
  [S390] avenrun export in appdata_base.c
  Convert s390_collect_crw_info() in s390mach.c from being started
  [S390] dasd eer data format.
  [S390] preempt_count initialization.
  [S390] head.S code moving.
  [S390] dasd whitespace and other cosmetics.
  [S390] virtual cpu accounting vs. machine checks.
  [S390] add __cpuinit to appldata cpu hotplug notifier.
  [S390] dasd_eckd_dump_sense bug.
  [S390] missing check in dasd_eer_open.
  [S390] modular 3270 driver.
  [S390] console_unblank woes.
  ...
parents 1903ac54 94bb0633
Loading
Loading
Loading
Loading
+7 −2
Original line number Original line Diff line number Diff line
@@ -1689,9 +1689,14 @@ running once the system is up.
			decrease the size and leave more room for directly
			decrease the size and leave more room for directly
			mapped kernel RAM.
			mapped kernel RAM.


	vmhalt=		[KNL,S390]
	vmhalt=		[KNL,S390] Perform z/VM CP command after system halt.
			Format: <command>


	vmpoff=		[KNL,S390]
	vmpanic=	[KNL,S390] Perform z/VM CP command after kernel panic.
			Format: <command>

	vmpoff=		[KNL,S390] Perform z/VM CP command after power off.
			Format: <command>


	waveartist=	[HW,OSS]
	waveartist=	[HW,OSS]
			Format: <io>,<irq>,<dma>,<dma2>
			Format: <io>,<irq>,<dma>,<dma2>
+22 −2
Original line number Original line Diff line number Diff line
@@ -3,9 +3,9 @@
 *
 *
 * Definitions and interface for Linux - z/VM Monitor Stream.
 * Definitions and interface for Linux - z/VM Monitor Stream.
 *
 *
 * Copyright (C) 2003 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 * Copyright (C) 2003,2006 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 *
 *
 * Author: Gerald Schaefer <geraldsc@de.ibm.com>
 * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
 */
 */


//#define APPLDATA_DEBUG			/* Debug messages on/off */
//#define APPLDATA_DEBUG			/* Debug messages on/off */
@@ -29,6 +29,22 @@
#define CTL_APPLDATA_NET_SUM	2125
#define CTL_APPLDATA_NET_SUM	2125
#define CTL_APPLDATA_PROC	2126
#define CTL_APPLDATA_PROC	2126


#ifndef CONFIG_64BIT

#define APPLDATA_START_INTERVAL_REC 0x00	/* Function codes for */
#define APPLDATA_STOP_REC	    0x01	/* DIAG 0xDC	  */
#define APPLDATA_GEN_EVENT_RECORD   0x02
#define APPLDATA_START_CONFIG_REC   0x03

#else

#define APPLDATA_START_INTERVAL_REC 0x80
#define APPLDATA_STOP_REC	    0x81
#define APPLDATA_GEN_EVENT_RECORD   0x82
#define APPLDATA_START_CONFIG_REC   0x83

#endif /* CONFIG_64BIT */

#define P_INFO(x...)	printk(KERN_INFO MY_PRINT_NAME " info: " x)
#define P_INFO(x...)	printk(KERN_INFO MY_PRINT_NAME " info: " x)
#define P_ERROR(x...)	printk(KERN_ERR MY_PRINT_NAME " error: " x)
#define P_ERROR(x...)	printk(KERN_ERR MY_PRINT_NAME " error: " x)
#define P_WARNING(x...)	printk(KERN_WARNING MY_PRINT_NAME " status: " x)
#define P_WARNING(x...)	printk(KERN_WARNING MY_PRINT_NAME " status: " x)
@@ -53,7 +69,11 @@ struct appldata_ops {
	void *data;				/* record data */
	void *data;				/* record data */
	unsigned int size;			/* size of record */
	unsigned int size;			/* size of record */
	struct module *owner;			/* THIS_MODULE */
	struct module *owner;			/* THIS_MODULE */
	char mod_lvl[2];			/* modification level, EBCDIC */
};
};


extern int appldata_register_ops(struct appldata_ops *ops);
extern int appldata_register_ops(struct appldata_ops *ops);
extern void appldata_unregister_ops(struct appldata_ops *ops);
extern void appldata_unregister_ops(struct appldata_ops *ops);
extern int appldata_diag(char record_nr, u16 function, unsigned long buffer,
			 u16 length, char *mod_lvl);
+14 −28
Original line number Original line Diff line number Diff line
@@ -5,9 +5,9 @@
 * Exports appldata_register_ops() and appldata_unregister_ops() for the
 * Exports appldata_register_ops() and appldata_unregister_ops() for the
 * data gathering modules.
 * data gathering modules.
 *
 *
 * Copyright (C) 2003 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 * Copyright (C) 2003,2006 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 *
 *
 * Author: Gerald Schaefer <geraldsc@de.ibm.com>
 * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
 */
 */


#include <linux/config.h>
#include <linux/config.h>
@@ -40,22 +40,6 @@


#define TOD_MICRO	0x01000			/* nr. of TOD clock units
#define TOD_MICRO	0x01000			/* nr. of TOD clock units
						   for 1 microsecond */
						   for 1 microsecond */
#ifndef CONFIG_64BIT

#define APPLDATA_START_INTERVAL_REC 0x00   	/* Function codes for */
#define APPLDATA_STOP_REC	    0x01	/* DIAG 0xDC	  */
#define APPLDATA_GEN_EVENT_RECORD   0x02
#define APPLDATA_START_CONFIG_REC   0x03

#else

#define APPLDATA_START_INTERVAL_REC 0x80
#define APPLDATA_STOP_REC   	    0x81
#define APPLDATA_GEN_EVENT_RECORD   0x82
#define APPLDATA_START_CONFIG_REC   0x83

#endif /* CONFIG_64BIT */



/*
/*
 * Parameter list for DIAGNOSE X'DC'
 * Parameter list for DIAGNOSE X'DC'
@@ -195,8 +179,8 @@ static void appldata_work_fn(void *data)
 *
 *
 * prepare parameter list, issue DIAG 0xDC
 * prepare parameter list, issue DIAG 0xDC
 */
 */
static int appldata_diag(char record_nr, u16 function, unsigned long buffer,
int appldata_diag(char record_nr, u16 function, unsigned long buffer,
			u16 length)
			u16 length, char *mod_lvl)
{
{
	unsigned long ry;
	unsigned long ry;
	struct appldata_product_id {
	struct appldata_product_id {
@@ -214,7 +198,7 @@ static int appldata_diag(char record_nr, u16 function, unsigned long buffer,
		.record_nr  = record_nr,
		.record_nr  = record_nr,
		.version_nr = {0xF2, 0xF6},		/* "26" */
		.version_nr = {0xF2, 0xF6},		/* "26" */
		.release_nr = {0xF0, 0xF1},		/* "01" */
		.release_nr = {0xF0, 0xF1},		/* "01" */
		.mod_lvl    = {0xF0, 0xF0},		/* "00" */
		.mod_lvl    = {mod_lvl[0], mod_lvl[1]},
	};
	};
	struct appldata_parameter_list appldata_parameter_list = {
	struct appldata_parameter_list appldata_parameter_list = {
				.diag = 0xDC,
				.diag = 0xDC,
@@ -467,24 +451,25 @@ appldata_generic_handler(ctl_table *ctl, int write, struct file *filp,
			module_put(ops->owner);
			module_put(ops->owner);
			return -ENODEV;
			return -ENODEV;
		}
		}
		ops->active = 1;
		ops->callback(ops->data);	// init record
		ops->callback(ops->data);	// init record
		rc = appldata_diag(ops->record_nr,
		rc = appldata_diag(ops->record_nr,
					APPLDATA_START_INTERVAL_REC,
					APPLDATA_START_INTERVAL_REC,
					(unsigned long) ops->data, ops->size);
					(unsigned long) ops->data, ops->size,
					ops->mod_lvl);
		if (rc != 0) {
		if (rc != 0) {
			P_ERROR("START DIAG 0xDC for %s failed, "
			P_ERROR("START DIAG 0xDC for %s failed, "
				"return code: %d\n", ops->name, rc);
				"return code: %d\n", ops->name, rc);
			module_put(ops->owner);
			module_put(ops->owner);
			ops->active = 0;
		} else {
		} else {
			P_INFO("Monitoring %s data enabled, "
			P_INFO("Monitoring %s data enabled, "
				"DIAG 0xDC started.\n", ops->name);
				"DIAG 0xDC started.\n", ops->name);
			ops->active = 1;
		}
		}
	} else if ((buf[0] == '0') && (ops->active == 1)) {
	} else if ((buf[0] == '0') && (ops->active == 1)) {
		ops->active = 0;
		ops->active = 0;
		rc = appldata_diag(ops->record_nr, APPLDATA_STOP_REC,
		rc = appldata_diag(ops->record_nr, APPLDATA_STOP_REC,
				(unsigned long) ops->data, ops->size);
				(unsigned long) ops->data, ops->size,
				ops->mod_lvl);
		if (rc != 0) {
		if (rc != 0) {
			P_ERROR("STOP DIAG 0xDC for %s failed, "
			P_ERROR("STOP DIAG 0xDC for %s failed, "
				"return code: %d\n", ops->name, rc);
				"return code: %d\n", ops->name, rc);
@@ -633,7 +618,7 @@ appldata_offline_cpu(int cpu)
	spin_unlock(&appldata_timer_lock);
	spin_unlock(&appldata_timer_lock);
}
}


static int
static int __cpuinit
appldata_cpu_notify(struct notifier_block *self,
appldata_cpu_notify(struct notifier_block *self,
		    unsigned long action, void *hcpu)
		    unsigned long action, void *hcpu)
{
{
@@ -710,7 +695,8 @@ static void __exit appldata_exit(void)
	list_for_each(lh, &appldata_ops_list) {
	list_for_each(lh, &appldata_ops_list) {
		ops = list_entry(lh, struct appldata_ops, list);
		ops = list_entry(lh, struct appldata_ops, list);
		rc = appldata_diag(ops->record_nr, APPLDATA_STOP_REC,
		rc = appldata_diag(ops->record_nr, APPLDATA_STOP_REC,
				(unsigned long) ops->data, ops->size);
				(unsigned long) ops->data, ops->size,
				ops->mod_lvl);
		if (rc != 0) {
		if (rc != 0) {
			P_ERROR("STOP DIAG 0xDC for %s failed, "
			P_ERROR("STOP DIAG 0xDC for %s failed, "
				"return code: %d\n", ops->name, rc);
				"return code: %d\n", ops->name, rc);
@@ -739,6 +725,7 @@ MODULE_DESCRIPTION("Linux-VM Monitor Stream, base infrastructure");


EXPORT_SYMBOL_GPL(appldata_register_ops);
EXPORT_SYMBOL_GPL(appldata_register_ops);
EXPORT_SYMBOL_GPL(appldata_unregister_ops);
EXPORT_SYMBOL_GPL(appldata_unregister_ops);
EXPORT_SYMBOL_GPL(appldata_diag);


#ifdef MODULE
#ifdef MODULE
/*
/*
@@ -779,7 +766,6 @@ unsigned long nr_iowait(void)
#endif /* MODULE */
#endif /* MODULE */
EXPORT_SYMBOL_GPL(si_swapinfo);
EXPORT_SYMBOL_GPL(si_swapinfo);
EXPORT_SYMBOL_GPL(nr_threads);
EXPORT_SYMBOL_GPL(nr_threads);
EXPORT_SYMBOL_GPL(avenrun);
EXPORT_SYMBOL_GPL(get_full_page_state);
EXPORT_SYMBOL_GPL(get_full_page_state);
EXPORT_SYMBOL_GPL(nr_running);
EXPORT_SYMBOL_GPL(nr_running);
EXPORT_SYMBOL_GPL(nr_iowait);
EXPORT_SYMBOL_GPL(nr_iowait);
+3 −2
Original line number Original line Diff line number Diff line
@@ -4,9 +4,9 @@
 * Data gathering module for Linux-VM Monitor Stream, Stage 1.
 * Data gathering module for Linux-VM Monitor Stream, Stage 1.
 * Collects data related to memory management.
 * Collects data related to memory management.
 *
 *
 * Copyright (C) 2003 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 * Copyright (C) 2003,2006 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 *
 *
 * Author: Gerald Schaefer <geraldsc@de.ibm.com>
 * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
 */
 */


#include <linux/config.h>
#include <linux/config.h>
@@ -152,6 +152,7 @@ static struct appldata_ops ops = {
	.callback  = &appldata_get_mem_data,
	.callback  = &appldata_get_mem_data,
	.data      = &appldata_mem_data,
	.data      = &appldata_mem_data,
	.owner     = THIS_MODULE,
	.owner     = THIS_MODULE,
	.mod_lvl   = {0xF0, 0xF0},		/* EBCDIC "00" */
};
};




+3 −2
Original line number Original line Diff line number Diff line
@@ -5,9 +5,9 @@
 * Collects accumulated network statistics (Packets received/transmitted,
 * Collects accumulated network statistics (Packets received/transmitted,
 * dropped, errors, ...).
 * dropped, errors, ...).
 *
 *
 * Copyright (C) 2003 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 * Copyright (C) 2003,2006 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 *
 *
 * Author: Gerald Schaefer <geraldsc@de.ibm.com>
 * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
 */
 */


#include <linux/config.h>
#include <linux/config.h>
@@ -152,6 +152,7 @@ static struct appldata_ops ops = {
	.callback  = &appldata_get_net_sum_data,
	.callback  = &appldata_get_net_sum_data,
	.data      = &appldata_net_sum_data,
	.data      = &appldata_net_sum_data,
	.owner     = THIS_MODULE,
	.owner     = THIS_MODULE,
	.mod_lvl   = {0xF0, 0xF0},		/* EBCDIC "00" */
};
};




Loading