aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2007-10-22 11:03:30 +1000
committerRusty Russell <rusty@rustcorp.com.au>2007-10-23 15:49:52 +1000
commitcc6d4fbcef328acdc9fa7023e69f39f753f72fe1 (patch)
tree860672e7da1a3516e36dd40f962552451ef0bcf2 /arch
parent4614a3a3b638dfd7a67d0237944f6a76331af61d (diff)
downloadkernel_samsung_crespo-cc6d4fbcef328acdc9fa7023e69f39f753f72fe1.zip
kernel_samsung_crespo-cc6d4fbcef328acdc9fa7023e69f39f753f72fe1.tar.gz
kernel_samsung_crespo-cc6d4fbcef328acdc9fa7023e69f39f753f72fe1.tar.bz2
Introduce "hcall" pointer to indicate pending hypercall.
Currently we look at the "trapnum" to see if the Guest wants a hypercall. But once the hypercall is done we have to reset trapnum to a bogus value, otherwise if we exit to userspace and return, we'd run the same hypercall twice (that was a nasty bug to find!). This has two main effects: 1) When Jes's patch changes the hypercall args to be a generic "struct hcall_args" we simply change the type of "lg->hcall". It's set by arch code, so if it has to copy args or something it can do so, and point "hcall" into lg->arch somewhere. 2) Async hypercalls only get run when an actual hypercall is pending. This simplfies the code a little and is a more logical semantic. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions