diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-01-12 08:53:30 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-01-12 08:53:30 +0000 |
commit | 6b5b22582f098f13cce9926f03d17092789ffa5e (patch) | |
tree | c5d9ac81db9517973b9a74fb017f1c9c90fca012 /xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_block.h | |
parent | abc73fe73e5760d1f6836ea098813f4d65d2c097 (diff) | |
download | xen-6b5b22582f098f13cce9926f03d17092789ffa5e.tar.gz xen-6b5b22582f098f13cce9926f03d17092789ffa5e.tar.bz2 xen-6b5b22582f098f13cce9926f03d17092789ffa5e.zip |
bitkeeper revision 1.671 (4002608aofyioMya1eWuIFZIJHQO4Q)
Upgrade to Linux version 2.4.24
Diffstat (limited to 'xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_block.h')
-rw-r--r-- | xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_block.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_block.h b/xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_block.h new file mode 100644 index 0000000000..9c6dcea522 --- /dev/null +++ b/xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_block.h @@ -0,0 +1,70 @@ +/****************************************************************************** + * xl_block.h + * + * Shared definitions between all levels of XenoLinux Virtual block devices. + */ + +#ifndef __XL_BLOCK_H__ +#define __XL_BLOCK_H__ + +#include <linux/config.h> +#include <linux/module.h> + +#include <linux/kernel.h> +#include <linux/sched.h> +#include <linux/slab.h> +#include <linux/string.h> +#include <linux/errno.h> + +#include <linux/fs.h> +#include <linux/hdreg.h> +#include <linux/blkdev.h> +#include <linux/major.h> + +#include <asm/hypervisor-ifs/hypervisor-if.h> +#include <asm/hypervisor-ifs/vbd.h> +#include <asm/io.h> +#include <asm/atomic.h> +#include <asm/uaccess.h> + +#if 0 +#define DPRINTK(_f, _a...) printk ( KERN_ALERT _f , ## _a ) +#else +#define DPRINTK(_f, _a...) ((void)0) +#endif + +#if 0 +#define DPRINTK_IOCTL(_f, _a...) printk ( KERN_ALERT _f , ## _a ) +#else +#define DPRINTK_IOCTL(_f, _a...) ((void)0) +#endif + +/* Private gendisk->flags[] values. */ +#define GENHD_FL_XENO 2 /* Is unit a Xen block device? */ +#define GENHD_FL_VIRT_PARTNS 4 /* Are unit partitions virtual? */ + +/* + * We have one of these per vbd, whether ide, scsi or 'other'. + * They hang in an array off the gendisk structure. We may end up putting + * all kinds of interesting stuff here :-) + */ +typedef struct xl_disk { + int usage; +} xl_disk_t; + +/* Generic layer. */ +extern int xenolinux_control_msg(int operration, char *buffer, int size); +extern int xenolinux_block_open(struct inode *inode, struct file *filep); +extern int xenolinux_block_release(struct inode *inode, struct file *filep); +extern int xenolinux_block_ioctl(struct inode *inode, struct file *filep, + unsigned command, unsigned long argument); +extern int xenolinux_block_check(kdev_t dev); +extern int xenolinux_block_revalidate(kdev_t dev); +extern void do_xlblk_request (request_queue_t *rq); + + +/* Virtual block-device subsystem. */ +extern int xlvbd_init(xen_disk_info_t *xdi); +extern void xlvbd_cleanup(void); + +#endif /* __XL_BLOCK_H__ */ |