xpram.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:3k
- /*
- * 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);