Hi, attached is my patch for xen and xenlinux to enable small address spaces. To use this, you will need a purpose-built user space for dom0, available through the link below. Unpack this in an empty partition, on a ramdisk, or export it as an nfsroot. Remember to add init=/linuxrc to your dom0 kernel commandline. This patch is by no means-production quality, e.g.: - It steals the shadow-pt linear mapping for dom0, so migration anything that activates xen''s shadow mode will likely crash Xen. - It does not support the perdomain mapping correctly, so use of segments in dom0 or domU will have strange effects. - It does not prevent domU from accessing dom0''s memory. But hopefully you should be able to play with it. Dom0 busybox-based userspace tarball, including vmlinuz for domU (/vmlinuz) and vmtools: http://www.diku.dk/~jacobg/sas/busybox.tar.gz Pre-built xen.gz and vmlinuz for dom0: http://www.diku.dk/~jacobg/sas/xen-sas.tar.gz In the busybox tarball root, you will find some scripts (e.g. /create_ramdisk, create_10, create_nfs_sh) for booting domUs with various combinations of routed and bridged networking. There is also a ramdisk (domUinitrd) to boot from. Both dom0 and domU have iperf installed. Binaries for dom0 are so far all statically linked, I use the attached linker-script to link them at the new location, e.g. linking with "-static -T elf_i386_glibc21.x" or similar. Jacob _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jacob Gorm Hansen
2005-Apr-29 21:45 UTC
Re: [Xen-devel] Small address spaces patch for Xen
Jacob Gorm Hansen wrote:> Hi, > > attached is my patch for xen and xenlinux to enable small address > spaces. To use this, you will need a purpose-built user space for dom0, > available through the link below. Unpack this in an empty partition, on > a ramdisk, or export it as an nfsroot. Remember to add init=/linuxrc to > your dom0 kernel commandline. >And by the way, if you have HT please remember to run xen with the ''noht'' option if you want to see anything change. Also, in xen/arch/x86/domain.c, if you #define the symbol SW_PERF, you will get periodic printk''s telling you how many TLB flushes you save with this print: printk("tot %d free %d update %d flush %d\n",sw_total, sw_free, sw_update, sw_flush); ''tot'' is the total amount of context switches, ''update'' is the number of pgd-cache updates (memcpys), and ''flush'' is the total amount of TLB flushes. ''free'' is total/2, and not really interesting as the other half is also free. Jacob _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel