bitkeeper revision 1.105.1.5 (3e5f78b2JrROb7627ksGnXNIWgAM3w)

domain builder fix
This commit is contained in:
smh22@boulderdash.cl.cam.ac.uk committed 2003-02-28 14:56:50 +00:00
1 parent 6e00eab701
commit a0ad7109ca
3 files changed
+160 -37

No files matched your search

+131
View File
@@ -22,3 +22,134 @@ xenolinux-2.4.16-sparse/scripts/kconfig.tk
xen-2.4.16/foo
xen-2.4.16/common/domain.c.smh
URK
tools/domain_builder/dom_builder.o
tools/domain_builder/dom_kill.o
tools/domain_builder/domain_builder
tools/domain_builder/kill_domain
xen/arch/i386/acpitable.o
xen/arch/i386/apic.o
xen/arch/i386/arch.o
xen/arch/i386/boot/boot.o
xen/arch/i386/delay.o
xen/arch/i386/entry.o
xen/arch/i386/extable.o
xen/arch/i386/i387.o
xen/arch/i386/i8259.o
xen/arch/i386/idle0_task.o
xen/arch/i386/io_apic.o
xen/arch/i386/ioremap.o
xen/arch/i386/irq.o
xen/arch/i386/mm.o
xen/arch/i386/mpparse.o
xen/arch/i386/pci-dma.o
xen/arch/i386/pci-i386.o
xen/arch/i386/pci-irq.o
xen/arch/i386/pci-pc.o
xen/arch/i386/process.o
xen/arch/i386/rwlock.o
xen/arch/i386/setup.o
xen/arch/i386/smp.o
xen/arch/i386/smpboot.o
xen/arch/i386/time.o
xen/arch/i386/trampoline.o
xen/arch/i386/traps.o
xen/arch/i386/usercopy.o
xen/common/ac_timer.o
xen/common/block.o
xen/common/brlock.o
xen/common/common.o
xen/common/dom0_ops.o
xen/common/domain.o
xen/common/domain_page.o
xen/common/event.o
xen/common/kernel.o
xen/common/keyhandler.o
xen/common/lib.o
xen/common/memory.o
xen/common/network.o
xen/common/page_alloc.o
xen/common/perfc.o
xen/common/resource.o
xen/common/schedule.o
xen/common/slab.o
xen/common/softirq.o
xen/common/timer.o
xen/common/vsprintf.o
xen/drivers/block/blkpg.o
xen/drivers/block/driver.o
xen/drivers/block/elevator.o
xen/drivers/block/genhd.o
xen/drivers/block/ll_rw_blk.o
xen/drivers/block/xen_block.o
xen/drivers/char/driver.o
xen/drivers/char/xen_kbd.o
xen/drivers/char/xen_serial.o
xen/drivers/ide/driver.o
xen/drivers/ide/ide-disk.o
xen/drivers/ide/ide-dma.o
xen/drivers/ide/ide-features.o
xen/drivers/ide/ide-geometry.o
xen/drivers/ide/ide-pci.o
xen/drivers/ide/ide-probe.o
xen/drivers/ide/ide-taskfile.o
xen/drivers/ide/ide-xeno.o
xen/drivers/ide/ide.o
xen/drivers/ide/piix.o
xen/drivers/net/3c59x.o
xen/drivers/net/Space.o
xen/drivers/net/driver.o
xen/drivers/net/e1000/e1000.o
xen/drivers/net/e1000/e1000_ethtool.o
xen/drivers/net/e1000/e1000_hw.o
xen/drivers/net/e1000/e1000_main.o
xen/drivers/net/e1000/e1000_param.o
xen/drivers/net/ne/8390.o
xen/drivers/net/ne/ne.o
xen/drivers/net/ne/ne_drv.o
xen/drivers/net/net_init.o
xen/drivers/net/setup.o
xen/drivers/net/tg3.o
xen/drivers/pci/classlist.h
xen/drivers/pci/compat.o
xen/drivers/pci/devlist.h
xen/drivers/pci/driver.o
xen/drivers/pci/gen-devlist
xen/drivers/pci/names.o
xen/drivers/pci/pci.o
xen/drivers/pci/quirks.o
xen/drivers/pci/setup-res.o
xen/drivers/scsi/aacraid/aachba.o
xen/drivers/scsi/aacraid/aacraid.o
xen/drivers/scsi/aacraid/commctrl.o
xen/drivers/scsi/aacraid/comminit.o
xen/drivers/scsi/aacraid/commsup.o
xen/drivers/scsi/aacraid/dpcsup.o
xen/drivers/scsi/aacraid/linit.o
xen/drivers/scsi/aacraid/rx.o
xen/drivers/scsi/aacraid/sa.o
xen/drivers/scsi/constants.o
xen/drivers/scsi/driver.o
xen/drivers/scsi/hosts.o
xen/drivers/scsi/scsi.o
xen/drivers/scsi/scsi_dma.o
xen/drivers/scsi/scsi_error.o
xen/drivers/scsi/scsi_ioctl.o
xen/drivers/scsi/scsi_lib.o
xen/drivers/scsi/scsi_merge.o
xen/drivers/scsi/scsi_proc.o
xen/drivers/scsi/scsi_queue.o
xen/drivers/scsi/scsi_scan.o
xen/drivers/scsi/scsi_syms.o
xen/drivers/scsi/scsicam.o
xen/drivers/scsi/sd.o
xen/image
xen/image.gz
xen/include/asm
xen/include/linux
xen/net/dev.o
xen/net/dev_mcast.o
xen/net/devinit.o
xen/net/eth.o
xen/net/network.o
xen/net/skbuff.o
xen/tools/elf-reloc
+27 -34
View File
@@ -52,10 +52,10 @@ static void dom_mem_cleanup(dom_mem_t * dom_mem)
if(mem_fd < 0){
perror(PERR_STRING);
}
if(write(mem_fd, (dom_mem_t *)dom_mem, sizeof(dom_mem_t)) < 0){
dbstatus("Error unmapping domain's memory.\n");
}
if(write(mem_fd, (dom_mem_t *)dom_mem, sizeof(dom_mem_t)) < 0){
dbstatus("Error unmapping domain's memory.\n");
}
close(mem_fd);
}
@@ -163,7 +163,7 @@ static dom0_newdomain_t * create_new_domain(long req_mem)
close(id_fd);
sprintf(cmd_path, "Reserved %ld kbytes memory and assigned id %d to the"
"new domain.", req_mem, dom_data->domain);
" new domain.", req_mem, dom_data->domain);
dbstatus(cmd_path);
return dom_data;
@@ -386,6 +386,7 @@ static int launch_domain(dom_meminfo_t * meminfo)
dbstatus("Launched the new domain!");
close(cmd_fd);
return 0;
}
int main(int argc, char **argv)
@@ -401,51 +402,45 @@ int main(int argc, char **argv)
int kernel_fd;
int count;
int cmd_len;
int ret = 0;
int rc = -1;
unsigned long addr;
unsigned long addr;
if(argc < 4){
if(argc < 4) {
dberr("Usage: dom_builder <kbytes_mem> <image> <num_vifs> "
"<boot_params>\n");
ret = -1;
"<boot_params>\n");
goto out;
}
/* create new domain and set up all the neccessary mappings */
kernel_fd = do_kernel_chcks(argv[2], atol(argv[1]), &load_addr, &ksize);
if(kernel_fd < 0){
ret = -1;
if(kernel_fd < 0) {
rc = errno;
goto out;
}
/* request the creation of new domain */
dom_data = create_new_domain(atol(argv[1]));
if(dom_data == 0){
ret = -1;
if(!(dom_data = create_new_domain(atol(argv[1]))))
goto out;
}
/* map domain's memory */
if(map_dom_mem(dom_data->pg_head, dom_data->memory_kb >> (PAGE_SHIFT - 10),
dom_data->domain, &dom_os_image)){
ret = -1;
if(map_dom_mem(dom_data->pg_head, dom_data->memory_kb >> (PAGE_SHIFT-10),
dom_data->domain, &dom_os_image))
goto out;
}
/* the following code does the actual domain building */
meminfo = setup_guestos(dom_data->domain, kernel_fd, load_addr, ksize,
&dom_os_image);
if(meminfo == NULL){
printf("Domain Builder: debug: meminfo NULL\n");
ret = -1;
dom_mem_cleanup(&dom_os_image);
meminfo = setup_guestos(dom_data->domain, kernel_fd, load_addr,
ksize, &dom_os_image);
/* and unmap the new domain's memory image since we no longer need it */
dom_mem_cleanup(&dom_os_image);
if(!meminfo) {
printf("Domain Builder: debug: meminfo NULL\n");
goto out;
}
dom_mem_cleanup(&dom_os_image);
meminfo->virt_load_addr = load_addr;
meminfo->num_vifs = atoi(argv[3]);
meminfo->cmd_line[0] = '\0';
@@ -471,13 +466,11 @@ int main(int argc, char **argv)
dbstatus(status);
/* and launch the domain */
if(launch_domain(meminfo) != 0)
ret = -1;
rc = launch_domain(meminfo);
out:
if( ret >= 0 )
if( rc >= 0 )
return meminfo->domain;
else
return ret;
return rc;
}
+2 -3
View File
@@ -76,7 +76,7 @@ void halt_machine(u_char key, void *dev_id, struct pt_regs *regs)
/* XXX SMH: this is keir's fault */
static char *task_states[] =
{
"Running",
"Runnable",
"Interruptible Sleep",
"Uninterruptible Sleep",
NULL, "Stopped",
@@ -104,9 +104,8 @@ void do_task_queues(u_char key, void *dev_id, struct pt_regs *regs)
printk("Notifying guest...\n");
set_bit(_EVENT_DEBUG, &s->events);
}
}
} while ( (p = p->next_task) != &idle0_task );
while ( (p = p->next_task) != &idle0_task );
read_unlock_irqrestore(&tasklist_lock, flags);
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.