search for: reserve_top

Displaying 6 results from an estimated 6 matches for "reserve_top".

2007 Apr 18
3
[patch] paravirt: VDSO page is essential
...nd disagree with this patch. VDSO is only a problem if (1) the hypervisor wants to reserve the top virtual address space (CONFIG_PARAVIRT=y), and (2) the glibc is old and can't handle a VDSO mapped anywhere but 0xFFFFE000 (CONFIG_COMPAT_VDSO=y). Now, KVM wants to use CONFIG_PARAVIRT=y but not reserve_top_address(), so we should split the config option. Let's not get too excited because we kept it simple. Patch (untested, but fairly simple) below. BTW, I had a patch to do a runtime test (old glibc causes init to assert, then disable vdso and try again): everyone hated it. Signed-off-by: Rust...
2007 Apr 18
3
[patch] paravirt: VDSO page is essential
...nd disagree with this patch. VDSO is only a problem if (1) the hypervisor wants to reserve the top virtual address space (CONFIG_PARAVIRT=y), and (2) the glibc is old and can't handle a VDSO mapped anywhere but 0xFFFFE000 (CONFIG_COMPAT_VDSO=y). Now, KVM wants to use CONFIG_PARAVIRT=y but not reserve_top_address(), so we should split the config option. Let's not get too excited because we kept it simple. Patch (untested, but fairly simple) below. BTW, I had a patch to do a runtime test (old glibc causes init to assert, then disable vdso and try again): everyone hated it. Signed-off-by: Rust...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 07/13] lguest64 loader
...ecific data. */ + void *priv; +}; + +static char buf[1024]; +static struct iovec discard_iov = { .iov_base=buf, .iov_len=sizeof(buf) }; +static int zero_fd; + +/* LGUEST_GUEST_TOP defined in Makefile, just below us. + FIXME: vdso gets mapped just under it, and we need to protect that. */ +#define RESERVE_TOP LGUEST_GUEST_TOP - 1024*1024 + +static u32 memparse(const char *ptr) +{ + char *end; + unsigned long ret = strtoul(ptr, &end, 0); + + switch (*end) { + case 'G': + case 'g': + ret <<= 10; + case 'M': + case 'm': + ret <<= 10; + case 'K': + c...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 07/13] lguest64 loader
...ecific data. */ + void *priv; +}; + +static char buf[1024]; +static struct iovec discard_iov = { .iov_base=buf, .iov_len=sizeof(buf) }; +static int zero_fd; + +/* LGUEST_GUEST_TOP defined in Makefile, just below us. + FIXME: vdso gets mapped just under it, and we need to protect that. */ +#define RESERVE_TOP LGUEST_GUEST_TOP - 1024*1024 + +static u32 memparse(const char *ptr) +{ + char *end; + unsigned long ret = strtoul(ptr, &end, 0); + + switch (*end) { + case 'G': + case 'g': + ret <<= 10; + case 'M': + case 'm': + ret <<= 10; + case 'K': + c...
2007 Apr 18
1
[PATCH 0/2] Use a single loader for i386 and x86_64
...ruct device *me); + unsigned long (*handle_output)(int fd, const struct iovec *iov, + unsigned int num, struct device *me); /* Device-specific data. */ void *priv; @@ -78,7 +89,7 @@ static int zero_fd; FIXME: vdso gets mapped just under it, and we need to protect that. */ #define RESERVE_TOP LGUEST_GUEST_TOP - 1024*1024 -static u32 memparse(const char *ptr) +static unsigned long memparse(const char *ptr) { char *end; unsigned long ret = strtoul(ptr, &end, 0); @@ -142,8 +153,8 @@ static void map_memory(unsigned long mem err(1, "Mmaping /dev/zero for %li bytes", m...
2007 Apr 18
1
[PATCH 0/2] Use a single loader for i386 and x86_64
...ruct device *me); + unsigned long (*handle_output)(int fd, const struct iovec *iov, + unsigned int num, struct device *me); /* Device-specific data. */ void *priv; @@ -78,7 +89,7 @@ static int zero_fd; FIXME: vdso gets mapped just under it, and we need to protect that. */ #define RESERVE_TOP LGUEST_GUEST_TOP - 1024*1024 -static u32 memparse(const char *ptr) +static unsigned long memparse(const char *ptr) { char *end; unsigned long ret = strtoul(ptr, &end, 0); @@ -142,8 +153,8 @@ static void map_memory(unsigned long mem err(1, "Mmaping /dev/zero for %li bytes", m...