devvmx: call vmxshutdown from reboot() function manually

This commit is contained in:
aiju 2017-09-02 10:43:37 +00:00
parent 6ed716eab6
commit bd4513fe87
5 changed files with 6 additions and 2 deletions

View file

@ -1844,7 +1844,7 @@ vmxnew(void)
return vmx; return vmx;
} }
static void void
vmxshutdown(void) vmxshutdown(void)
{ {
int i; int i;
@ -2203,7 +2203,7 @@ Dev vmxdevtab = {
vmxreset, vmxreset,
devinit, devinit,
vmxshutdown, devshutdown,
vmxattach, vmxattach,
vmxwalk, vmxwalk,
vmxstat, vmxstat,

View file

@ -198,6 +198,7 @@ void vectortable(void);
void* vmap(ulong, int); void* vmap(ulong, int);
int vmapsync(ulong); int vmapsync(ulong);
void vmxprocrestore(Proc *); void vmxprocrestore(Proc *);
void vmxshutdown(void);
void vunmap(void*, int); void vunmap(void*, int);
void wbinvd(void); void wbinvd(void);
void writeconf(void); void writeconf(void);

View file

@ -735,6 +735,7 @@ reboot(void *entry, void *code, ulong size)
ulong *pdb; ulong *pdb;
writeconf(); writeconf();
vmxshutdown();
/* /*
* the boot processor is cpu0. execute this function on it * the boot processor is cpu0. execute this function on it

View file

@ -190,6 +190,7 @@ void upafree(uintptr, int);
void upareserve(uintptr, int); void upareserve(uintptr, int);
void vectortable(void); void vectortable(void);
void vmxprocrestore(Proc *); void vmxprocrestore(Proc *);
void vmxshutdown(void);
void* vmap(uintptr, int); void* vmap(uintptr, int);
void vunmap(void*, int); void vunmap(void*, int);
void wbinvd(void); void wbinvd(void);

View file

@ -350,6 +350,7 @@ reboot(void *entry, void *code, ulong size)
void (*f)(uintptr, uintptr, ulong); void (*f)(uintptr, uintptr, ulong);
writeconf(); writeconf();
vmxshutdown();
/* /*
* the boot processor is cpu0. execute this function on it * the boot processor is cpu0. execute this function on it