* [PATCH] KVM - Fix rmode_tss_base declaration
@ 2007-06-06 19:19 Jeff Dike
[not found] ` <20070606191925.GA8989-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Jeff Dike @ 2007-06-06 19:19 UTC (permalink / raw)
To: avi-atKUWr5tajBWk0Htik3J/w
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, LKML
The long return value of rmode_tss_base is truncated by its declared
return type of int.
Signed-off-by: Jeff Dike <jdike-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
--
drivers/kvm/vmx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: kvm/drivers/kvm/vmx.c
===================================================================
--- kvm.orig/drivers/kvm/vmx.c
+++ kvm/drivers/kvm/vmx.c
@@ -884,7 +884,7 @@ static void enter_pmode(struct kvm_vcpu
vmcs_write32(GUEST_CS_AR_BYTES, 0x9b);
}
-static int rmode_tss_base(struct kvm* kvm)
+static unsigned long rmode_tss_base(struct kvm* kvm)
{
gfn_t base_gfn = kvm->memslots[0].base_gfn + kvm->memslots[0].npages - 3;
return base_gfn << PAGE_SHIFT;
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 6+ messages in thread[parent not found: <20070606191925.GA8989-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org>]
* Re: [PATCH] KVM - Fix rmode_tss_base declaration [not found] ` <20070606191925.GA8989-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org> @ 2007-06-07 2:13 ` Li, Xin B [not found] ` <B30DA1341B0CFA4893EF8A36B40B5C5D013A32CB-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Li, Xin B @ 2007-06-07 2:13 UTC (permalink / raw) To: Jeff Dike, avi-atKUWr5tajBWk0Htik3J/w Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, LKML > >The long return value of rmode_tss_base is truncated by its declared >return type of int. > >Signed-off-by: Jeff Dike <jdike-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> >-- > drivers/kvm/vmx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >Index: kvm/drivers/kvm/vmx.c >=================================================================== >--- kvm.orig/drivers/kvm/vmx.c >+++ kvm/drivers/kvm/vmx.c >@@ -884,7 +884,7 @@ static void enter_pmode(struct kvm_vcpu > vmcs_write32(GUEST_CS_AR_BYTES, 0x9b); > } > >-static int rmode_tss_base(struct kvm* kvm) >+static unsigned long rmode_tss_base(struct kvm* kvm) Should use gpa_t instead. -Xin ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <B30DA1341B0CFA4893EF8A36B40B5C5D013A32CB-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>]
* Re: [PATCH] KVM - Fix rmode_tss_base declaration [not found] ` <B30DA1341B0CFA4893EF8A36B40B5C5D013A32CB-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org> @ 2007-06-07 3:11 ` Jeff Dike [not found] ` <20070607031103.GA12462-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Jeff Dike @ 2007-06-07 3:11 UTC (permalink / raw) To: Li, Xin B; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, LKML On Thu, Jun 07, 2007 at 10:13:42AM +0800, Li, Xin B wrote: > >-static int rmode_tss_base(struct kvm* kvm) > >+static unsigned long rmode_tss_base(struct kvm* kvm) > > Should use gpa_t instead. Right you are, I didn't notice that type. Will fix. Jeff -- Work email - jdike at linux dot intel dot com ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <20070607031103.GA12462-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org>]
* Re: [PATCH] KVM - Fix rmode_tss_base declaration [not found] ` <20070607031103.GA12462-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org> @ 2007-06-07 5:09 ` Avi Kivity [not found] ` <4667931C.8070007-atKUWr5tajBWk0Htik3J/w@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Avi Kivity @ 2007-06-07 5:09 UTC (permalink / raw) To: Jeff Dike; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, LKML Jeff Dike wrote: > On Thu, Jun 07, 2007 at 10:13:42AM +0800, Li, Xin B wrote: > >>> -static int rmode_tss_base(struct kvm* kvm) >>> +static unsigned long rmode_tss_base(struct kvm* kvm) >>> >> Should use gpa_t instead. >> > > Right you are, I didn't notice that type. > > Some extra logic is needed on i386 with >= 4GB. Current code will wraparound since gfn_t is 32-bits long, but casting it to 64-bits is not the answer since the processor will truncate it back to 32 bits (the return value is eventually used as a long in enter_rmode()). -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <4667931C.8070007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>]
* Re: [PATCH] KVM - Fix rmode_tss_base declaration [not found] ` <4667931C.8070007-atKUWr5tajBWk0Htik3J/w@public.gmane.org> @ 2007-06-08 19:44 ` Jeff Dike 2007-06-10 7:36 ` [kvm-devel] " Avi Kivity 0 siblings, 1 reply; 6+ messages in thread From: Jeff Dike @ 2007-06-08 19:44 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, LKML On Thu, Jun 07, 2007 at 08:09:48AM +0300, Avi Kivity wrote: > Some extra logic is needed on i386 with >= 4GB. Current code will > wraparound since gfn_t is 32-bits long, but casting it to 64-bits is not > the answer since the processor will truncate it back to 32 bits (the > return value is eventually used as a long in enter_rmode()). Is it necessary to initialize TR in enter_rmode? I can't see anything that says it has any meaning in real mode. And if not, would not the guest be responsible for finding room for the TSS? Jeff -- Work email - jdike at linux dot intel dot com ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [kvm-devel] [PATCH] KVM - Fix rmode_tss_base declaration 2007-06-08 19:44 ` Jeff Dike @ 2007-06-10 7:36 ` Avi Kivity 0 siblings, 0 replies; 6+ messages in thread From: Avi Kivity @ 2007-06-10 7:36 UTC (permalink / raw) To: Jeff Dike; +Cc: Li, Xin B, kvm-devel, LKML Jeff Dike wrote: > On Thu, Jun 07, 2007 at 08:09:48AM +0300, Avi Kivity wrote: > >> Some extra logic is needed on i386 with >= 4GB. Current code will >> wraparound since gfn_t is 32-bits long, but casting it to 64-bits is not >> the answer since the processor will truncate it back to 32 bits (the >> return value is eventually used as a long in enter_rmode()). >> > > Is it necessary to initialize TR in enter_rmode? I can't see anything > that says it has any meaning in real mode. > > VT doesn't support real mode. kvm uses virtual-8086 mode to virtualize real mode. Virtual 8086 mode does require a task state segment. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-06-10 7:36 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-06 19:19 [PATCH] KVM - Fix rmode_tss_base declaration Jeff Dike
[not found] ` <20070606191925.GA8989-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org>
2007-06-07 2:13 ` Li, Xin B
[not found] ` <B30DA1341B0CFA4893EF8A36B40B5C5D013A32CB-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-06-07 3:11 ` Jeff Dike
[not found] ` <20070607031103.GA12462-1LLyehjZOUUZWFFyALql+T+iFHGzDt/a@public.gmane.org>
2007-06-07 5:09 ` Avi Kivity
[not found] ` <4667931C.8070007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-08 19:44 ` Jeff Dike
2007-06-10 7:36 ` [kvm-devel] " Avi Kivity
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox