ia64/xen-unstable

changeset 14:8566e3dd3b2f

bitkeeper revision 1.7.1.4 (3def5f48kwmL0X0eiElxGFHZW7Qdhg)

shrink ring1/3 segments to 3.5GB + associated changes + a few tweaks.
author smh22@boulderdash.cl.cam.ac.uk
date Thu Dec 05 14:14:32 2002 +0000 (2002-12-05)
parents 03538a2243c1
children 9011ca198220
files xen-2.4.16/arch/i386/boot/boot.S xen-2.4.16/common/block.c xen-2.4.16/common/domain.c xen-2.4.16/common/memory.c
line diff
     1.1 --- a/xen-2.4.16/arch/i386/boot/boot.S	Wed Dec 04 18:35:52 2002 +0000
     1.2 +++ b/xen-2.4.16/arch/i386/boot/boot.S	Thu Dec 05 14:14:32 2002 +0000
     1.3 @@ -219,10 +219,10 @@ nopaging_gdt_descr:
     1.4  ENTRY(gdt_table)
     1.5          .quad 0x0000000000000000     /* NULL descriptor */
     1.6          .quad 0x0000000000000000     /* not used */
     1.7 -        .quad 0x00ceba000000ffff     /* 0x11 ring 1 3.5GB code at 0x00000000 */
     1.8 -        .quad 0x00ceb2000000ffff     /* 0x19 ring 1 3.5GB data at 0x00000000 */
     1.9 -        .quad 0x00cefa000000ffff     /* 0x23 ring 3 3.5GB code at 0x00000000 */
    1.10 -        .quad 0x00cef2000000ffff     /* 0x2b ring 3 3.5GB data at 0x00000000 */
    1.11 +        .quad 0x00cdba000000ffff     /* 0x11 ring 1 3.5GB code at 0x00000000 */
    1.12 +        .quad 0x00cdb2000000ffff     /* 0x19 ring 1 3.5GB data at 0x00000000 */
    1.13 +        .quad 0x00cdfa000000ffff     /* 0x23 ring 3 3.5GB code at 0x00000000 */
    1.14 +        .quad 0x00cdf2000000ffff     /* 0x2b ring 3 3.5GB data at 0x00000000 */
    1.15          .quad 0x00cf9a000000ffff     /* 0x30 ring 0 4.0GB code at 0x00000000 */
    1.16          .quad 0x00cf92000000ffff     /* 0x38 ring 0 4.0GB data at 0x00000000 */
    1.17          .quad 0x0000000000000000
     2.1 --- a/xen-2.4.16/common/block.c	Wed Dec 04 18:35:52 2002 +0000
     2.2 +++ b/xen-2.4.16/common/block.c	Thu Dec 05 14:14:32 2002 +0000
     2.3 @@ -17,5 +17,6 @@
     2.4   */
     2.5  blk_ring_t *create_block_ring(int domain)
     2.6  {
     2.7 -  printk ("XEN create block ring");
     2.8 +    printk ("XEN create block ring <not implemented>");
     2.9 +    return (blk_ring_t *)NULL; 
    2.10  }
     3.1 --- a/xen-2.4.16/common/domain.c	Wed Dec 04 18:35:52 2002 +0000
     3.2 +++ b/xen-2.4.16/common/domain.c	Thu Dec 05 14:14:32 2002 +0000
     3.3 @@ -402,7 +402,7 @@ int setup_guestos(struct task_struct *p,
     3.4      unsigned long cur_address, end_address, alloc_address, vaddr;
     3.5      unsigned long virt_load_address, virt_stack_address, virt_shinfo_address;
     3.6      unsigned long virt_ftable_start_addr = 0, virt_ftable_end_addr;
     3.7 -    unsigned long ft_mapping = frame_table;
     3.8 +    unsigned long ft_mapping = (unsigned long)frame_table;
     3.9      unsigned int ft_size = 0;
    3.10      start_info_t  *virt_startinfo_address;
    3.11      unsigned long long time;
    3.12 @@ -410,7 +410,6 @@ int setup_guestos(struct task_struct *p,
    3.13      l1_pgentry_t *l1tab = NULL;
    3.14      struct pfn_info *page = NULL;
    3.15      net_ring_t *net_ring;
    3.16 -    blk_ring_t *blk_ring;
    3.17  
    3.18      if ( strncmp(__va(mod[0].mod_start), "XenoGues", 8) )
    3.19      {
    3.20 @@ -578,11 +577,18 @@ int setup_guestos(struct task_struct *p,
    3.21          net_ring = create_net_vif(dom);
    3.22          if (!net_ring) panic("no network ring!\n");
    3.23      }
    3.24 -    virt_startinfo_address->net_rings = p->net_ring_base;
    3.25 +
    3.26 +/* XXX SMH: horrible hack to convert hypervisor VAs in SHIP to guest VAs  */
    3.27 +#define SHIP2GUEST(_x) (virt_shinfo_address | (((unsigned long)(_x)) & 0xFFF))
    3.28 +
    3.29 +    virt_startinfo_address->net_rings = 
    3.30 +	(net_ring_t *)SHIP2GUEST(p->net_ring_base); 
    3.31      virt_startinfo_address->num_net_rings = p->num_net_vifs;
    3.32  
    3.33      /* Add block io interface */
    3.34 -    virt_startinfo_address->blk_ring = p->blk_ring_base;
    3.35 +    virt_startinfo_address->blk_ring = 
    3.36 +	(blk_ring_t *)SHIP2GUEST(p->blk_ring_base); 
    3.37 +
    3.38  
    3.39      /* We tell OS about any modules we were given. */
    3.40      if ( nr_mods > 1 )
     4.1 --- a/xen-2.4.16/common/memory.c	Wed Dec 04 18:35:52 2002 +0000
     4.2 +++ b/xen-2.4.16/common/memory.c	Thu Dec 05 14:14:32 2002 +0000
     4.3 @@ -166,7 +166,7 @@
     4.4  #include <asm/io.h>
     4.5  #include <asm/uaccess.h>
     4.6  
     4.7 -#if 1
     4.8 +#if 0
     4.9  #define MEM_LOG(_f, _a...) printk("DOM%d: (file=memory.c, line=%d) " _f "\n", current->domain, __LINE__, ## _a )
    4.10  #else
    4.11  #define MEM_LOG(_f, _a...) ((void)0)