-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 116779 b: refs/heads/master c: 25c7bfa h: refs/heads/master i: 116777: 1657487 116775: 3ee0967 v: v3
- Loading branch information
Isaku Yamahata
authored and
Tony Luck
committed
Oct 17, 2008
1 parent
775cdfc
commit 1b38f03
Showing
2 changed files
with
49 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: b31c09bd82731600a72c83894e7c6a53b36b6c83 | ||
refs/heads/master: 25c7bfaef201ab8cef400ea96e27803e1d32697a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
/* | ||
* same structure to x86's | ||
* Hopefully asm-x86/pvclock-abi.h would be moved to somewhere more generic. | ||
* For now, define same duplicated definitions. | ||
*/ | ||
|
||
#ifndef _ASM_IA64__PVCLOCK_ABI_H | ||
#define _ASM_IA64__PVCLOCK_ABI_H | ||
#ifndef __ASSEMBLY__ | ||
|
||
/* | ||
* These structs MUST NOT be changed. | ||
* They are the ABI between hypervisor and guest OS. | ||
* Both Xen and KVM are using this. | ||
* | ||
* pvclock_vcpu_time_info holds the system time and the tsc timestamp | ||
* of the last update. So the guest can use the tsc delta to get a | ||
* more precise system time. There is one per virtual cpu. | ||
* | ||
* pvclock_wall_clock references the point in time when the system | ||
* time was zero (usually boot time), thus the guest calculates the | ||
* current wall clock by adding the system time. | ||
* | ||
* Protocol for the "version" fields is: hypervisor raises it (making | ||
* it uneven) before it starts updating the fields and raises it again | ||
* (making it even) when it is done. Thus the guest can make sure the | ||
* time values it got are consistent by checking the version before | ||
* and after reading them. | ||
*/ | ||
|
||
struct pvclock_vcpu_time_info { | ||
u32 version; | ||
u32 pad0; | ||
u64 tsc_timestamp; | ||
u64 system_time; | ||
u32 tsc_to_system_mul; | ||
s8 tsc_shift; | ||
u8 pad[3]; | ||
} __attribute__((__packed__)); /* 32 bytes */ | ||
|
||
struct pvclock_wall_clock { | ||
u32 version; | ||
u32 sec; | ||
u32 nsec; | ||
} __attribute__((__packed__)); | ||
|
||
#endif /* __ASSEMBLY__ */ | ||
#endif /* _ASM_IA64__PVCLOCK_ABI_H */ |