direct-io.hg
changeset 499:f18ad5c14d58
bitkeeper revision 1.270 (3f05635eA3E9uE41obAFzoLuQRr_PA)
Merge labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/rac61/xeno.bk
into labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/xeno.bk
Merge labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/rac61/xeno.bk
into labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/xeno.bk
author | sos22@labyrinth.cl.cam.ac.uk |
---|---|
date | Fri Jul 04 11:22:06 2003 +0000 (2003-07-04) |
parents | 4b8ce663794b 0f3d9fcd2206 |
children | bb7333faba06 |
files | .rootkeys BitKeeper/etc/ignore xen/common/domain.c xen/drivers/block/xen_block.c xen/drivers/block/xen_physdisk.c xen/include/xeno/physdisk.h |
line diff
1.1 --- a/.rootkeys Fri Jul 04 11:21:03 2003 +0000 1.2 +++ b/.rootkeys Fri Jul 04 11:22:06 2003 +0000 1.3 @@ -468,6 +468,7 @@ 3ddb79c2Fg44_PBPVxHSC0gTOMq4Ow xen/inclu 1.4 3ddb79c0MOVXq8qZDQRGb6z64_xAwg xen/include/xeno/pci_ids.h 1.5 3e54c38dlSCVdyVM4PKcrSfzLLxWUQ xen/include/xeno/perfc.h 1.6 3e54c38de9SUSYSAwxDf_DwkpAnQFA xen/include/xeno/perfc_defn.h 1.7 +3f055a3dwldYR102YcSuBaxIf9t3Jw xen/include/xeno/physdisk.h 1.8 3ddb79c04nQVR3EYM5L4zxDV_MCo1g xen/include/xeno/prefetch.h 1.9 3e4540ccU1sgCx8seIMGlahmMfv7yQ xen/include/xeno/reboot.h 1.10 3ddb79c0LzqqS0LhAQ50ekgj4oGl7Q xen/include/xeno/sched.h
2.1 --- a/BitKeeper/etc/ignore Fri Jul 04 11:21:03 2003 +0000 2.2 +++ b/BitKeeper/etc/ignore Fri Jul 04 11:22:06 2003 +0000 2.3 @@ -419,3 +419,4 @@ xen/tools/figlet/figlet 2.4 xenolinux-2.4.16-sparse/arch/xeno/drivers/block/Makefile.orig 2.5 xenolinux-2.4.16-sparse/arch/xeno/drivers/block/block.c.orig 2.6 xenolinux-2.4.16-sparse/scripts/kconfig.tk 2.7 +xen/include/xeno/physdisk.h~
3.1 --- a/xen/common/domain.c Fri Jul 04 11:21:03 2003 +0000 3.2 +++ b/xen/common/domain.c Fri Jul 04 11:22:06 2003 +0000 3.3 @@ -16,6 +16,8 @@ 3.4 #include <asm/msr.h> 3.5 #include <xeno/blkdev.h> 3.6 #include <xeno/console.h> 3.7 +#include <hypervisor-ifs/block.h> 3.8 +#include <xeno/physdisk.h> 3.9 3.10 /* 3.11 * NB. No ring-3 access in initial guestOS pagetables. Note that we allow
4.1 --- a/xen/drivers/block/xen_block.c Fri Jul 04 11:21:03 2003 +0000 4.2 +++ b/xen/drivers/block/xen_block.c Fri Jul 04 11:22:06 2003 +0000 4.3 @@ -18,6 +18,7 @@ 4.4 #include <xeno/interrupt.h> 4.5 #include <xeno/segment.h> 4.6 #include <xeno/slab.h> 4.7 +#include <xeno/physdisk.h> 4.8 4.9 #if 0 4.10 #define DPRINTK(_f, _a...) printk( _f , ## _a ) 4.11 @@ -676,7 +677,7 @@ static void dispatch_rw_block_io(struct 4.12 goto bad_descriptor; 4.13 } 4.14 if (p->domain != 0 && 4.15 - !xen_physdisk_access_okay(&phys_seg, p, operation)) { 4.16 + !xen_physdisk_access_okay(&phys_seg[nr_psegs], p, operation)) { 4.17 DPRINTK("access denied\n"); 4.18 /* XXX not quite right, but close enough. */ 4.19 goto bad_descriptor;
5.1 --- a/xen/drivers/block/xen_physdisk.c Fri Jul 04 11:21:03 2003 +0000 5.2 +++ b/xen/drivers/block/xen_physdisk.c Fri Jul 04 11:22:06 2003 +0000 5.3 @@ -6,6 +6,7 @@ 5.4 #include <asm/domain_page.h> 5.5 #include <asm/io.h> 5.6 #include <xeno/segment.h> 5.7 +#include <xeno/physdisk.h> 5.8 5.9 #define MAX(a,b) ((a) > (b) ? (a) : (b)) 5.10 5.11 @@ -84,7 +85,7 @@ static void xen_physdisk_revoke_access(u 5.12 ace_end <= start_sect) 5.13 continue; 5.14 5.15 - DPRINTK("Killing ace [%x, %x) against kill zone [%x, %x)\n", 5.16 + DPRINTK("Killing ace [%lx, %lx) against kill zone [%lx, %lx)\n", 5.17 cur_ace->start_sect, ace_end, start_sect, kill_zone_end); 5.18 5.19 if (cur_ace->start_sect >= start_sect && 5.20 @@ -234,7 +235,7 @@ int xen_physdisk_access_okay(phys_seg_t 5.21 struct physdisk_ace *cur_ace; 5.22 unsigned long sect; 5.23 5.24 - DPRINTK("Checking access for domain %d, start sect %d, length %d.\n", 5.25 + DPRINTK("Checking access for domain %d, start sect 0x%lx, length 0x%x.\n", 5.26 p->domain, pseg->sector_number, pseg->nr_sects); 5.27 5.28 for (sect = pseg->sector_number;
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/xen/include/xeno/physdisk.h Fri Jul 04 11:22:06 2003 +0000 6.3 @@ -0,0 +1,13 @@ 6.4 +#ifndef PHYSDISK_ACES__ 6.5 +#define PHYSDISK_ACES__ 6.6 + 6.7 +struct task_struct; 6.8 + 6.9 +void destroy_physdisk_aces(struct task_struct *p); 6.10 + 6.11 +int xen_physdisk_grant(xp_disk_t *); 6.12 +int xen_physdisk_probe(physdisk_probebuf_t *); 6.13 +int xen_physdisk_access_okay(phys_seg_t *pseg, struct task_struct *p, 6.14 + int operation); 6.15 + 6.16 +#endif /* PHYSDISK_ACES__ */