ia64/xen-unstable
changeset 2948:186962673207
bitkeeper revision 1.1159.1.414 (4194affdzqFXqPu5SVoUNCEMC9mjEQ)
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/BK/xen-unstable.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/cl349/BK/xen.bk-smp
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/BK/xen-unstable.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/cl349/BK/xen.bk-smp
author | cl349@freefall.cl.cam.ac.uk |
---|---|
date | Fri Nov 12 12:43:41 2004 +0000 (2004-11-12) |
parents | 48a6e020fddb 5d3097b7205b |
children | 2b25e0010db8 |
files | Makefile docs/src/user.tex linux-2.6.9-xen-sparse/drivers/xen/balloon/balloon.c linux-2.6.9-xen-sparse/drivers/xen/blkfront/blkfront.c linux-2.6.9-xen-sparse/drivers/xen/netfront/netfront.c xen/Makefile |
line diff
1.1 --- a/Makefile Thu Nov 11 17:32:57 2004 +0000 1.2 +++ b/Makefile Fri Nov 12 12:43:41 2004 +0000 1.3 @@ -35,8 +35,8 @@ dist: xen tools kernels docs 1.4 install: 1.5 $(MAKE) -C xen install 1.6 $(MAKE) -C tools install 1.7 - $(shell cp -a install/boot/* /boot/) 1.8 - $(shell cp -a install/lib/modules/* /lib/modules/) 1.9 + $(shell cp -a $(INSTALL_DIR)/boot/* /boot/) 1.10 + $(shell cp -a $(INSTALL_DIR)/lib/modules/* /lib/modules/) 1.11 sh ./docs/check_pkgs && $(MAKE) -C docs install || true 1.12 $(shell cp -dR $(INSTALL_DIR)/boot/*$(LINUX_VER)* $(prefix)/boot/) 1.13 $(shell cp -dR $(INSTALL_DIR)/lib/modules/* $(prefix)/lib/modules/)
2.1 --- a/docs/src/user.tex Thu Nov 11 17:32:57 2004 +0000 2.2 +++ b/docs/src/user.tex Fri Nov 12 12:43:41 2004 +0000 2.3 @@ -1345,6 +1345,7 @@ for concrete examples of the syntax. 2.4 \item[memory] Memory size in megabytes. 2.5 \item[cpu] CPU to run this domain on, or {\tt -1} for 2.6 auto-allocation. 2.7 +\item[console] Port to export the domain console on (default 9600 + domain ID). 2.8 \item[nics] Number of virtual network interfaces. 2.9 \item[vif] List of MAC addresses (random addresses are assigned if not 2.10 given) and bridges to use for the domain's network interfaces, e.g. 2.11 @@ -1399,6 +1400,23 @@ special configuration. 2.12 The purpose of this section is to describe the mechanisms provided by 2.13 \xend to allow a flexible configuration for Xen's virtual networking. 2.14 2.15 +\subsection{Xen virtual network topology} 2.16 + 2.17 +Each domain network interface is connected to a virtual network 2.18 +interface in dom0 by a point to point link (effectively a `virtual 2.19 +crossover cable'). These devices are named {\tt 2.20 +vif$<$domid$>$.$<$vifid$>$} (e.g. {\tt vif1.0} for the first interface 2.21 +in domain 1, {\tt vif3.1} for the second interface in domain 3). 2.22 + 2.23 +Traffic on these virtual interfaces is handled in domain 0 using 2.24 +standard Linux mechanisms for bridging, routing, rate limiting, etc. 2.25 +Xend calls on two shell scripts to perform initial configuration of 2.26 +the network and configuration of new virtual interfaces. By default, 2.27 +these scripts configure a single bridge for all the virtual 2.28 +interfaces. Arbitrary routing / bridging configurations can be 2.29 +configured by customising the scripts, as described in the following 2.30 +section. 2.31 + 2.32 \subsection{Xen networking scripts} 2.33 2.34 Xen's virtual networking is configured by two shell scripts (by 2.35 @@ -1428,6 +1446,9 @@ VIFs on the default Xen bridge. 2.36 2.37 \end{description} 2.38 2.39 +For more complex network setups (e.g. where routing is required or 2.40 +integrate with existing bridges) these scripts may be replaced with 2.41 +customised variants for your site's preferred configuration. 2.42 2.43 %% There are two possible types of privileges: IO privileges and 2.44 %% administration privileges.
3.1 --- a/linux-2.6.9-xen-sparse/drivers/xen/balloon/balloon.c Thu Nov 11 17:32:57 2004 +0000 3.2 +++ b/linux-2.6.9-xen-sparse/drivers/xen/balloon/balloon.c Fri Nov 12 12:43:41 2004 +0000 3.3 @@ -32,13 +32,6 @@ 3.4 #include <linux/kernel.h> 3.5 #include <linux/sched.h> 3.6 #include <linux/errno.h> 3.7 - 3.8 -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 3.9 -#include <asm-xen/xen_proc.h> 3.10 -#else 3.11 -#include <asm/xen_proc.h> 3.12 -#endif 3.13 - 3.14 #include <linux/mm.h> 3.15 #include <linux/mman.h> 3.16 #include <linux/smp_lock.h> 3.17 @@ -46,20 +39,13 @@ 3.18 #include <linux/bootmem.h> 3.19 #include <linux/highmem.h> 3.20 #include <linux/vmalloc.h> 3.21 - 3.22 -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 3.23 +#include <asm-xen/xen_proc.h> 3.24 #include <asm-xen/hypervisor.h> 3.25 #include <asm-xen/ctrl_if.h> 3.26 -#else 3.27 -#include <asm/hypervisor.h> 3.28 -#include <asm/ctrl_if.h> 3.29 -#endif 3.30 - 3.31 #include <asm/pgalloc.h> 3.32 #include <asm/pgtable.h> 3.33 #include <asm/uaccess.h> 3.34 #include <asm/tlb.h> 3.35 - 3.36 #include <linux/list.h> 3.37 3.38 /* USER DEFINES -- THESE SHOULD BE COPIED TO USER-SPACE TOOLS */ 3.39 @@ -89,6 +75,7 @@ static unsigned long current_pages, most 3.40 #define PAGE_TO_LIST(p) ( &p->list ) 3.41 #define LIST_TO_PAGE(l) ( list_entry(l, struct page, list) ) 3.42 #define UNLIST_PAGE(p) ( list_del(&p->list) ) 3.43 +#define pte_offset_kernel pte_offset 3.44 #endif 3.45 3.46 /* List of ballooned pages, threaded through the mem_map array. */ 3.47 @@ -128,11 +115,7 @@ static inline pte_t *get_ptep(unsigned l 3.48 pmd = pmd_offset(pgd, addr); 3.49 if ( pmd_none(*pmd) || pmd_bad(*pmd) ) BUG(); 3.50 3.51 -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 3.52 ptep = pte_offset_kernel(pmd, addr); 3.53 -#else 3.54 - ptep = pte_offset(pmd, addr); 3.55 -#endif 3.56 3.57 return ptep; 3.58 } 3.59 @@ -382,11 +365,7 @@ static void pagetable_extend (int cur_lo 3.60 } 3.61 kpgd = pgd_offset_k((unsigned long)pte_base); 3.62 kpmd = pmd_offset(kpgd, (unsigned long)pte_base); 3.63 -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 3.64 kpte = pte_offset_kernel(kpmd, (unsigned long)pte_base); 3.65 -#else 3.66 - kpte = pte_offset(kpmd, (unsigned long)pte_base); 3.67 -#endif 3.68 queue_l1_entry_update(kpte, 3.69 (*(unsigned long *)kpte)&~_PAGE_RW); 3.70 set_pmd(pmd, __pmd(_KERNPG_TABLE + __pa(pte_base))); 3.71 @@ -609,7 +588,8 @@ static int balloon_read(struct file *fil 3.72 if (len>count) len = count; 3.73 if (len<0) len = 0; 3.74 3.75 - copy_to_user(buffer, priv_bufp, len); 3.76 + if ( copy_to_user(buffer, priv_bufp, len) != 0 ) 3.77 + return -EFAULT; 3.78 3.79 *offp += len; 3.80 return len; 3.81 @@ -619,9 +599,9 @@ static struct file_operations balloon_fo 3.82 .read = balloon_read, 3.83 .write = balloon_write 3.84 }; 3.85 + 3.86 #else 3.87 3.88 - 3.89 static int balloon_write(struct file *file, const char *buffer, 3.90 u_long count, void *data) 3.91 { 3.92 @@ -689,7 +669,6 @@ static int balloon_write(struct file *fi 3.93 } 3.94 } 3.95 3.96 - 3.97 return len; 3.98 } 3.99 3.100 @@ -707,11 +686,8 @@ static int balloon_read(char *page, char 3.101 return len; 3.102 } 3.103 3.104 - 3.105 - 3.106 #endif 3.107 3.108 - 3.109 static int __init balloon_init(void) 3.110 { 3.111 printk(KERN_ALERT "Starting Xen Balloon driver\n");
4.1 --- a/linux-2.6.9-xen-sparse/drivers/xen/blkfront/blkfront.c Thu Nov 11 17:32:57 2004 +0000 4.2 +++ b/linux-2.6.9-xen-sparse/drivers/xen/blkfront/blkfront.c Fri Nov 12 12:43:41 2004 +0000 4.3 @@ -76,10 +76,11 @@ static char * blkif_status_name[] = { 4.4 4.5 #if 1 4.6 #define dprintf(fmt, args...) \ 4.7 -printk(KERN_ALERT "[XEN:%s:%s:%d] " fmt, __FUNCTION__, __FILE__, __LINE__, ##args) 4.8 +printk(KERN_ALERT "[XEN:%s:%s:%d] " fmt, \ 4.9 +__FUNCTION__, __FILE__, __LINE__, ##args) 4.10 #endif 4.11 4.12 -#define WPRINTK(fmt, args...) printk(KERN_WARNING "[XEN] " fmt, ##args) 4.13 +#define WPRINTK(fmt, args...) printk(KERN_WARNING "xen_blk: " fmt, ##args) 4.14 4.15 static int blkif_handle = 0; 4.16 static unsigned int blkif_state = BLKIF_STATE_CLOSED; 4.17 @@ -103,14 +104,6 @@ static int recovery = 0; /* "R 4.18 #define BLKIF_RING_FULL (((req_prod - resp_cons) == BLKIF_RING_SIZE) || \ 4.19 (blkif_state != BLKIF_STATE_CONNECTED)) 4.20 4.21 -static inline void translate_req_to_mfn(blkif_request_t *xreq, 4.22 - blkif_request_t *req); 4.23 - 4.24 -static inline void translate_req_to_pfn(blkif_request_t *xreq, 4.25 - blkif_request_t *req); 4.26 - 4.27 -static inline void flush_requests(void); 4.28 - 4.29 static void kick_pending_request_queues(void); 4.30 4.31 int __init xlblk_init(void); 4.32 @@ -138,12 +131,61 @@ static inline void ADD_ID_TO_FREELIST( u 4.33 } 4.34 4.35 4.36 +/************************ COMMON CODE (inlined) ************************/ 4.37 + 4.38 +/* Kernel-specific definitions used in the common code */ 4.39 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 4.40 +#define DISABLE_SCATTERGATHER() 4.41 +#else 4.42 +#define DISABLE_SCATTERGATHER() (sg_operation = -1) 4.43 +#endif 4.44 + 4.45 +static inline void translate_req_to_pfn(blkif_request_t *xreq, 4.46 + blkif_request_t *req) 4.47 +{ 4.48 + int i; 4.49 + 4.50 + xreq->operation = req->operation; 4.51 + xreq->nr_segments = req->nr_segments; 4.52 + xreq->device = req->device; 4.53 + /* preserve id */ 4.54 + xreq->sector_number = req->sector_number; 4.55 + 4.56 + for ( i = 0; i < req->nr_segments; i++ ) 4.57 + xreq->frame_and_sects[i] = machine_to_phys(req->frame_and_sects[i]); 4.58 +} 4.59 + 4.60 +static inline void translate_req_to_mfn(blkif_request_t *xreq, 4.61 + blkif_request_t *req) 4.62 +{ 4.63 + int i; 4.64 + 4.65 + xreq->operation = req->operation; 4.66 + xreq->nr_segments = req->nr_segments; 4.67 + xreq->device = req->device; 4.68 + xreq->id = req->id; /* copy id (unlike above) */ 4.69 + xreq->sector_number = req->sector_number; 4.70 + 4.71 + for ( i = 0; i < req->nr_segments; i++ ) 4.72 + xreq->frame_and_sects[i] = phys_to_machine(req->frame_and_sects[i]); 4.73 +} 4.74 + 4.75 + 4.76 +static inline void flush_requests(void) 4.77 +{ 4.78 + DISABLE_SCATTERGATHER(); 4.79 + wmb(); /* Ensure that the frontend can see the requests. */ 4.80 + blk_ring->req_prod = req_prod; 4.81 + notify_via_evtchn(blkif_evtchn); 4.82 +} 4.83 + 4.84 + 4.85 + 4.86 + 4.87 /************************** KERNEL VERSION 2.6 **************************/ 4.88 4.89 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 4.90 4.91 -#define DISABLE_SCATTERGATHER() 4.92 - 4.93 __initcall(xlblk_init); 4.94 4.95 #if ENABLE_VBD_UPDATE 4.96 @@ -469,8 +511,6 @@ static request_queue_t *pending_queues[M 4.97 static int nr_pending; 4.98 4.99 4.100 -#define DISABLE_SCATTERGATHER() (sg_operation = -1) 4.101 - 4.102 #define blkif_io_lock io_request_lock 4.103 4.104 /*============================================================================*/ 4.105 @@ -1010,49 +1050,6 @@ static void blkif_int(int irq, void *dev 4.106 /***************************** COMMON CODE *******************************/ 4.107 4.108 4.109 -static inline void translate_req_to_pfn(blkif_request_t *xreq, 4.110 - blkif_request_t *req) 4.111 -{ 4.112 - int i; 4.113 - 4.114 - xreq->operation = req->operation; 4.115 - xreq->nr_segments = req->nr_segments; 4.116 - xreq->device = req->device; 4.117 - /* preserve id */ 4.118 - xreq->sector_number = req->sector_number; 4.119 - 4.120 - for ( i = 0; i < req->nr_segments; i++ ){ 4.121 - xreq->frame_and_sects[i] = machine_to_phys(req->frame_and_sects[i]); 4.122 - } 4.123 -} 4.124 - 4.125 -static inline void translate_req_to_mfn(blkif_request_t *xreq, 4.126 - blkif_request_t *req) 4.127 -{ 4.128 - int i; 4.129 - 4.130 - xreq->operation = req->operation; 4.131 - xreq->nr_segments = req->nr_segments; 4.132 - xreq->device = req->device; 4.133 - xreq->id = req->id; /* copy id (unlike above) */ 4.134 - xreq->sector_number = req->sector_number; 4.135 - 4.136 - for ( i = 0; i < req->nr_segments; i++ ){ 4.137 - xreq->frame_and_sects[i] = phys_to_machine(req->frame_and_sects[i]); 4.138 - } 4.139 -} 4.140 - 4.141 - 4.142 - 4.143 -static inline void flush_requests(void) 4.144 -{ 4.145 - DISABLE_SCATTERGATHER(); 4.146 - wmb(); /* Ensure that the frontend can see the requests. */ 4.147 - blk_ring->req_prod = req_prod; 4.148 - notify_via_evtchn(blkif_evtchn); 4.149 -} 4.150 - 4.151 - 4.152 void blkif_control_send(blkif_request_t *req, blkif_response_t *rsp) 4.153 { 4.154 unsigned long flags, id; 4.155 @@ -1097,7 +1094,8 @@ void blkif_control_send(blkif_request_t 4.156 4.157 4.158 /* Send a driver status notification to the domain controller. */ 4.159 -static void send_driver_status(int ok){ 4.160 +static void send_driver_status(int ok) 4.161 +{ 4.162 ctrl_msg_t cmsg = { 4.163 .type = CMSG_BLKIF_FE, 4.164 .subtype = CMSG_BLKIF_FE_DRIVER_STATUS, 4.165 @@ -1111,7 +1109,8 @@ static void send_driver_status(int ok){ 4.166 } 4.167 4.168 /* Tell the controller to bring up the interface. */ 4.169 -static void blkif_send_interface_connect(void){ 4.170 +static void blkif_send_interface_connect(void) 4.171 +{ 4.172 ctrl_msg_t cmsg = { 4.173 .type = CMSG_BLKIF_FE, 4.174 .subtype = CMSG_BLKIF_FE_INTERFACE_CONNECT, 4.175 @@ -1127,9 +1126,8 @@ static void blkif_send_interface_connect 4.176 4.177 static void blkif_free(void) 4.178 { 4.179 + printk(KERN_INFO "xen_blk: Recovering virtual block device driver\n"); 4.180 4.181 - printk(KERN_INFO "[XEN] Recovering virtual block device driver\n"); 4.182 - 4.183 /* Prevent new requests being issued until we fix things up. */ 4.184 spin_lock_irq(&blkif_io_lock); 4.185 recovery = 1; 4.186 @@ -1137,9 +1135,10 @@ static void blkif_free(void) 4.187 spin_unlock_irq(&blkif_io_lock); 4.188 4.189 /* Free resources associated with old device channel. */ 4.190 - if(blk_ring){ 4.191 + if ( blk_ring != NULL ) 4.192 + { 4.193 free_page((unsigned long)blk_ring); 4.194 - blk_ring = 0; 4.195 + blk_ring = NULL; 4.196 } 4.197 free_irq(blkif_irq, NULL); 4.198 blkif_irq = 0; 4.199 @@ -1148,7 +1147,8 @@ static void blkif_free(void) 4.200 blkif_evtchn = 0; 4.201 } 4.202 4.203 -static void blkif_close(void){ 4.204 +static void blkif_close(void) 4.205 +{ 4.206 } 4.207 4.208 /* Move from CLOSED to DISCONNECTED state. */ 4.209 @@ -1163,22 +1163,23 @@ static void blkif_disconnect(void) 4.210 4.211 static void blkif_reset(void) 4.212 { 4.213 - printk(KERN_INFO "[XEN] Recovering virtual block device driver\n"); 4.214 + printk(KERN_INFO "xen_blk: Recovering virtual block device driver\n"); 4.215 blkif_free(); 4.216 blkif_disconnect(); 4.217 } 4.218 4.219 static void blkif_recover(void) 4.220 { 4.221 - 4.222 int i; 4.223 4.224 /* Hmm, requests might be re-ordered when we re-issue them. 4.225 * This will need to be fixed once we have barriers */ 4.226 4.227 /* Stage 1 : Find active and move to safety. */ 4.228 - for ( i = 0; i < BLKIF_RING_SIZE; i++ ) { 4.229 - if ( rec_ring[i].id >= PAGE_OFFSET ) { 4.230 + for ( i = 0; i < BLKIF_RING_SIZE; i++ ) 4.231 + { 4.232 + if ( rec_ring[i].id >= PAGE_OFFSET ) 4.233 + { 4.234 translate_req_to_mfn( 4.235 &blk_ring->ring[req_prod].req, &rec_ring[i]); 4.236 req_prod++; 4.237 @@ -1188,16 +1189,16 @@ static void blkif_recover(void) 4.238 printk(KERN_ALERT"blkfront: recovered %d descriptors\n",req_prod); 4.239 4.240 /* Stage 2 : Set up shadow list. */ 4.241 - for ( i = 0; i < req_prod; i++ ) { 4.242 + for ( i = 0; i < req_prod; i++ ) 4.243 + { 4.244 rec_ring[i].id = blk_ring->ring[i].req.id; 4.245 blk_ring->ring[i].req.id = i; 4.246 translate_req_to_pfn(&rec_ring[i], &blk_ring->ring[i].req); 4.247 } 4.248 4.249 /* Stage 3 : Set up free list. */ 4.250 - for ( ; i < BLKIF_RING_SIZE; i++ ){ 4.251 + for ( ; i < BLKIF_RING_SIZE; i++ ) 4.252 rec_ring[i].id = i+1; 4.253 - } 4.254 rec_ring_free = req_prod; 4.255 rec_ring[BLKIF_RING_SIZE-1].id = 0x0fffffff; 4.256 4.257 @@ -1225,14 +1226,18 @@ static void blkif_connect(blkif_fe_inter 4.258 blkif_irq = bind_evtchn_to_irq(blkif_evtchn); 4.259 4.260 err = request_irq(blkif_irq, blkif_int, SA_SAMPLE_RANDOM, "blkif", NULL); 4.261 - if(err){ 4.262 - printk(KERN_ALERT "[XEN] blkfront request_irq failed (err=%d)\n", err); 4.263 + if ( err ) 4.264 + { 4.265 + printk(KERN_ALERT "xen_blk: request_irq failed (err=%d)\n", err); 4.266 return; 4.267 } 4.268 4.269 - if ( recovery ) { 4.270 + if ( recovery ) 4.271 + { 4.272 blkif_recover(); 4.273 - } else { 4.274 + } 4.275 + else 4.276 + { 4.277 /* Transition to connected in case we need to do 4.278 * a partition probe on a whole disk. */ 4.279 blkif_state = BLKIF_STATE_CONNECTED; 4.280 @@ -1256,15 +1261,17 @@ static void unexpected(blkif_fe_interfac 4.281 4.282 static void blkif_status(blkif_fe_interface_status_t *status) 4.283 { 4.284 - if (status->handle != blkif_handle) { 4.285 + if ( status->handle != blkif_handle ) 4.286 + { 4.287 WPRINTK(" Invalid blkif: handle=%u", status->handle); 4.288 return; 4.289 } 4.290 4.291 - switch (status->status) { 4.292 - 4.293 + switch ( status->status ) 4.294 + { 4.295 case BLKIF_INTERFACE_STATUS_CLOSED: 4.296 - switch(blkif_state){ 4.297 + switch ( blkif_state ) 4.298 + { 4.299 case BLKIF_STATE_CLOSED: 4.300 unexpected(status); 4.301 break; 4.302 @@ -1277,7 +1284,8 @@ static void blkif_status(blkif_fe_interf 4.303 break; 4.304 4.305 case BLKIF_INTERFACE_STATUS_DISCONNECTED: 4.306 - switch(blkif_state){ 4.307 + switch ( blkif_state ) 4.308 + { 4.309 case BLKIF_STATE_CLOSED: 4.310 blkif_disconnect(); 4.311 break; 4.312 @@ -1290,7 +1298,8 @@ static void blkif_status(blkif_fe_interf 4.313 break; 4.314 4.315 case BLKIF_INTERFACE_STATUS_CONNECTED: 4.316 - switch(blkif_state){ 4.317 + switch ( blkif_state ) 4.318 + { 4.319 case BLKIF_STATE_CLOSED: 4.320 unexpected(status); 4.321 blkif_disconnect(); 4.322 @@ -1307,7 +1316,8 @@ static void blkif_status(blkif_fe_interf 4.323 break; 4.324 4.325 case BLKIF_INTERFACE_STATUS_CHANGED: 4.326 - switch(blkif_state){ 4.327 + switch ( blkif_state ) 4.328 + { 4.329 case BLKIF_STATE_CLOSED: 4.330 case BLKIF_STATE_DISCONNECTED: 4.331 unexpected(status); 4.332 @@ -1347,7 +1357,8 @@ static void blkif_ctrlif_rx(ctrl_msg_t * 4.333 ctrl_if_send_response(msg); 4.334 } 4.335 4.336 -int wait_for_blkif(void){ 4.337 +int wait_for_blkif(void) 4.338 +{ 4.339 int err = 0; 4.340 int i; 4.341 send_driver_status(1); 4.342 @@ -1363,8 +1374,9 @@ int wait_for_blkif(void){ 4.343 schedule_timeout(1); 4.344 } 4.345 4.346 - if (blkif_state != BLKIF_STATE_CONNECTED){ 4.347 - printk(KERN_INFO "[XEN] Timeout connecting block device driver!\n"); 4.348 + if ( blkif_state != BLKIF_STATE_CONNECTED ) 4.349 + { 4.350 + printk(KERN_INFO "xen_blk: Timeout connecting to device!\n"); 4.351 err = -ENOSYS; 4.352 } 4.353 return err; 4.354 @@ -1374,17 +1386,15 @@ int __init xlblk_init(void) 4.355 { 4.356 int i; 4.357 4.358 - if ( (xen_start_info.flags & SIF_INITDOMAIN) 4.359 - || (xen_start_info.flags & SIF_BLK_BE_DOMAIN) ) 4.360 + if ( (xen_start_info.flags & SIF_INITDOMAIN) || 4.361 + (xen_start_info.flags & SIF_BLK_BE_DOMAIN) ) 4.362 return 0; 4.363 4.364 - printk(KERN_INFO "[XEN] Initialising virtual block device driver\n"); 4.365 + printk(KERN_INFO "xen_blk: Initialising virtual block device driver\n"); 4.366 4.367 rec_ring_free = 0; 4.368 - for (i=0; i<BLKIF_RING_SIZE; i++) 4.369 - { 4.370 + for ( i = 0; i < BLKIF_RING_SIZE; i++ ) 4.371 rec_ring[i].id = i+1; 4.372 - } 4.373 rec_ring[BLKIF_RING_SIZE-1].id = 0x0fffffff; 4.374 4.375 (void)ctrl_if_register_receiver(CMSG_BLKIF_FE, blkif_ctrlif_rx,
5.1 --- a/linux-2.6.9-xen-sparse/drivers/xen/netfront/netfront.c Thu Nov 11 17:32:57 2004 +0000 5.2 +++ b/linux-2.6.9-xen-sparse/drivers/xen/netfront/netfront.c Fri Nov 12 12:43:41 2004 +0000 5.3 @@ -157,14 +157,14 @@ static char *be_state_name[] = { 5.4 5.5 #if DEBUG 5.6 #define DPRINTK(fmt, args...) \ 5.7 - printk(KERN_ALERT "[XEN] (%s:%d) " fmt, __FUNCTION__, __LINE__, ##args) 5.8 + printk(KERN_ALERT "xen_net (%s:%d) " fmt, __FUNCTION__, __LINE__, ##args) 5.9 #else 5.10 #define DPRINTK(fmt, args...) ((void)0) 5.11 #endif 5.12 #define IPRINTK(fmt, args...) \ 5.13 - printk(KERN_INFO "[XEN] " fmt, ##args) 5.14 + printk(KERN_INFO "xen_net: " fmt, ##args) 5.15 #define WPRINTK(fmt, args...) \ 5.16 - printk(KERN_WARNING "[XEN] " fmt, ##args) 5.17 + printk(KERN_WARNING "xen_net: " fmt, ##args) 5.18 5.19 static struct net_device *find_dev_by_handle(unsigned int handle) 5.20 { 5.21 @@ -769,10 +769,6 @@ static void network_connect(struct net_d 5.22 wmb(); 5.23 np->rx->req_prod = requeue_idx; 5.24 5.25 - printk(KERN_ALERT "[XEN] Netfront recovered tx=%d rxfree=%d\n", 5.26 - np->tx->req_prod,np->rx->req_prod); 5.27 - 5.28 - 5.29 /* Step 3: All public and private state should now be sane. Get 5.30 * ready to start sending and receiving packets and give the driver 5.31 * domain a kick because we've probably just requeued some
6.1 --- a/xen/Makefile Thu Nov 11 17:32:57 2004 +0000 6.2 +++ b/xen/Makefile Fri Nov 12 12:43:41 2004 +0000 6.3 @@ -26,7 +26,7 @@ install: $(TARGET) 6.4 install -m0644 include/public/COPYING $(prefix)/usr/include/xen 6.5 6.6 dist: $(TARGET) 6.7 - $(MAKE) prefix=`pwd`/../install dist=yes install 6.8 + $(MAKE) prefix=`pwd`/../dist/install dist=yes install 6.9 6.10 clean: 6.11 $(MAKE) -C figlet clean