From: Gerd Knorr <kraxel@bytesex.org>
To: Scott Parish <srparish@us.ibm.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: PAE xen + linux kernel boots ...
Date: Sun, 1 May 2005 01:01:54 +0200 [thread overview]
Message-ID: <20050430230154.GD8637@bytesex> (raw)
In-Reply-To: <20050430090117.GC16883@us.ibm.com>
> The hypervisor was taking a pagefault in ptwr_emulated_update() when
> pl1e (a map_domain_mem() mapped page) was dereferenced to be
> copied. pl1e is a 64 bit type with pae, but only the first 4 bytes
> were getting mapped, and there was a case where pl1e would straddle
> a page boundary,
Huh? page table entries must be 8-byte aligned, so they never ever
can cross a page border. Must be something else.
> -void *map_domain_mem(unsigned long pa)
> +void *map_domain_mem(unsigned long long pa)
Hmm, I guess the most sane approach is to add a new type for
physical addresses, simply using "unsigned long long" isn't
a good idea ...
> - idx = map_idx = (map_idx + 1) & (MAPCACHE_ENTRIES - 1);
> + idx = map_idx = (map_idx + 2) & (MAPCACHE_ENTRIES - 1);
> cache[idx] = l1e_create_phys(pa, __PAGE_HYPERVISOR);
> + cache[idx + 1] = l1e_create_phys(pa + sizeof(u32), __PAGE_HYPERVISOR);
That looks a bit fishy, like hiding a bug somewhere else.
And most likely will break for non-pae ...
Gerd
--
#define printk(args...) fprintf(stderr, ## args)
next prev parent reply other threads:[~2005-04-30 23:01 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-25 17:26 PAE xen + linux kernel boots Gerd Knorr
2005-04-27 12:03 ` Gerd Knorr
2005-04-28 18:41 ` Chris Wright
2005-04-29 8:01 ` Gerd Knorr
2005-04-30 8:40 ` Scott Parish
2005-04-30 22:55 ` Gerd Knorr
2005-04-30 9:01 ` Scott Parish
2005-04-30 9:51 ` Scott Parish
2005-04-30 10:54 ` Keir Fraser
2005-05-01 8:12 ` Scott Parish
2005-05-02 14:03 ` Gerd Knorr
2005-05-02 16:02 ` Scott Parish
2005-05-04 2:20 ` Scott Parish
2005-05-04 8:03 ` Gerd Knorr
2005-05-04 15:20 ` Scott Parish
2005-05-04 2:28 ` Scott Parish
2005-05-04 3:22 ` Kip Macy
2005-05-04 3:23 ` Scott Parish
2005-05-04 7:58 ` Gerd Knorr
2005-04-30 23:15 ` Gerd Knorr
2005-04-30 23:01 ` Gerd Knorr [this message]
2005-04-30 22:57 ` Scott Parish
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050430230154.GD8637@bytesex \
--to=kraxel@bytesex.org \
--cc=srparish@us.ibm.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.