OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [s390/] [block/] [xpram.h] - Rev 1275

Go to most recent revision | Compare with Previous | Blame | View Log

 
/*
 * 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);
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.