summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--i386/i386/gdt.c2
-rw-r--r--i386/i386/trap.c8
2 files changed, 7 insertions, 3 deletions
diff --git a/i386/i386/gdt.c b/i386/i386/gdt.c
index 68f5764..f26a50c 100644
--- a/i386/i386/gdt.c
+++ b/i386/i386/gdt.c
@@ -71,8 +71,10 @@ gdt_init()
panic("couldn't set gdt\n");
if (hyp_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments))
panic("couldn't set 4gb segments vm assist");
+#if 0
if (hyp_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments_notify))
panic("couldn't set 4gb segments vm assist notify");
+#endif
#else /* MACH_XEN */
/* Load the new GDT. */
{
diff --git a/i386/i386/trap.c b/i386/i386/trap.c
index a0cebcb..a2e77da 100644
--- a/i386/i386/trap.c
+++ b/i386/i386/trap.c
@@ -530,9 +530,11 @@ printf("user trap %d error %d sub %08x\n", type, code, subcode);
case 15:
{
static unsigned count = 0;
- if (!count) {
- count = 1;
- printf("4gb segment access, probably from TLS use, please use a Xenified libc package (i.e. with the nosegneg option)\n");
+ count++;
+ if (!(count % 10000))
+ print("%d 4gb segments accesses\n", count);
+ if (count > 1000000) {
+ printf("A million 4gb segment accesses, stopping reporting them.");
if (hyp_vm_assist(VMASST_CMD_disable, VMASST_TYPE_4gb_segments_notify))
panic("couldn't disable 4gb segments vm assist notify");
}