patch-2.4.2 linux/drivers/s390/block/xpram.h
Next file: linux/drivers/s390/ccwcache.c
Previous file: linux/drivers/s390/block/xpram.c
Back to the patch index
Back to the overall index
- Lines: 71
- Date:
Tue Feb 13 14:13:44 2001
- Orig file:
v2.4.1/linux/drivers/s390/block/xpram.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.4.1/linux/drivers/s390/block/xpram.h linux/drivers/s390/block/xpram.h
@@ -0,0 +1,70 @@
+
+/*
+ * xpram.h -- definitions for the char module
+ *
+ *********/
+
+
+#include <linux/ioctl.h>
+#include <asm/atomic.h>
+#include <linux/major.h>
+
+/* version dependencies have been confined to a separate file */
+
+/*
+ * Macros to help debugging
+ */
+
+#define XPRAM_NAME "xpram" /* name of device/module */
+#define XPRAM_DEVICE_NAME_PREFIX "slram" /* Prefix device name for major 35 */
+#define XPRAM_DEVS 1 /* one partition */
+#define XPRAM_RAHEAD 8 /* no real read ahead */
+#define XPRAM_PGSIZE 4096 /* page size of (expanded) mememory pages
+ * according to S/390 architecture
+ */
+#define XPRAM_BLKSIZE XPRAM_PGSIZE /* must be equalt to page size ! */
+#define XPRAM_HARDSECT XPRAM_PGSIZE /* FIXME -- we have to deal with both
+ * this hard sect size and in some cases
+ * hard coded 512 bytes which I call
+ * soft sects:
+ */
+#define XPRAM_SOFTSECT 512
+#define XPRAM_MAX_DEVS 32 /* maximal number of devices (partitions) */
+#define XPRAM_MAX_DEVS1 33 /* maximal number of devices (partitions) +1 */
+
+/* The following macros depend on the sizes above */
+
+#define XPRAM_KB_IN_PG 4 /* 4 kBs per page */
+#define XPRAM_KB_IN_PG_ORDER 2 /* 2^? kBs per page */
+
+/* Eventhough XPRAM_HARDSECT is set to 4k some data structures use hard
+ * coded 512 byte sa sector size
+ */
+#define XPRAM_SEC2KB(x) ((x >> 1) + (x & 1)) /* modifier used to compute size
+ in kB from number of sectors */
+#define XPRAM_SEC_IN_PG 8 /* 8 sectors per page */
+#define XPRAM_SEC_IN_PG_ORDER 3 /* 2^? sectors per page */
+
+#define XPRAM_UNUSED 40 /* unused space between devices,
+ * in kB, i.e.
+ * must be a multiple of 4
+ */
+/*
+ * The xpram device is removable: if it is left closed for more than
+ * half a minute, it is removed. Thus use a usage count and a
+ * kernel timer
+ */
+
+typedef struct Xpram_Dev {
+ int size; /* size in KB not in Byte - RB - */
+ atomic_t usage;
+ char * device_name; /* device name prefix in devfs */
+ devfs_handle_t devfs_entry; /* handle needed to unregister dev from devfs */
+ u8 *data;
+} Xpram_Dev;
+
+/* 2.2: void xpram_setup (char *, int *); */
+/* begin 2.3 */
+int xpram_setup (char *);
+/* end 2.3 */
+int xpram_init(void);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)