Hi Anthony --
Since things have stabilized, I decided to give this patch
some testing, primarily to see if it might fix the gcc
segmentation faults that Fujita and I have been seeing.
Without this patch, I am able to compile Linux 20 times
on domU; generally 1 or 2 of the compiles fails because
of the gcc segfault. With the patch, Xen *crashed*
on the sixth Linux compile (first try) and halfway
through the first Linux compile (second try). This
is on a Tiger4, but I currently am not able to get console
output so I don't have any information about the crash --
other than that the machine didn't reboot. Could you see
if you could reproduce this?
As an aside, turning off the FAST_BREAK, FAST_ACCESS_REFLECT,
and FAST_RFI features (which your patch turns off) slowed
down the benchmark by about 4%.
> -----Original Message-----
> From: Xu, Anthony [mailto:anthony.xu@xxxxxxxxx]
> Sent: Sunday, November 27, 2005 8:22 PM
> To: Magenheimer, Dan (HP Labs Fort Collins)
> Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-ia64-devel] [PATCH] fully virtualize psr and
> ipsr on non-VTI domain
> This patch is intended to fully virtualize psr and ipsr on non-VTI
> Following things are done in this patch.
> 1, previously when guest reads psr, it always get psr dt rt
> it equal to
> 1. that is because HV doesn't restore these information,
> metaphysical_mode can't present all these information. I save these
> information into privregs->vpsr. Thus guest can get correct
> about dt, rt and it.
> 2, when guest reads psr, we should only return low 32bits and
> 35 and 36
> bits, previously return all bits.
> 3, when guest rsm and ssm psr, HV rsm and ssm some bits of current psr
> which is used by HV, that is not correct, guest rsm and ssm
> should only
> impact guest psr(that is regs->ipsr).
> 4, mistakenly uses guest DCR, guest DCR should impact guest psr when
> injecting interruption into guest, but not impact guest ipsr.
> When injecting interruption into guest,The current implementation is
> Guest ipsr.be=guest dcr.be
> Guest ipsr.pp=guest dcr.pp
> Correct implementation should be,
> Guest psr.be=guest dcr.be
> Guest psr.pp=guest dcr.pp.
> Because of above modifications, I turn off FAST_RFI, FAST_BREAK and
> Signed-off-by Anthony Xu < anthony.xu@xxxxxxxxx>
> One question, why do we need to virtualize guest psr.pp and always set
> guest psr.pp to 1?
Xen-ia64-devel mailing list