17 Apr, 2008
2 commits
-
RDMSR for 64bit values with exception handling.
Makes it easier to deal with 64bit valued MSRs. The old 64bit code
base had that too as checking_rdmsrl(), but it got dropped somehow.Signed-off-by: Andi Kleen
Cc: andreas.herrmann3@amd.com
Cc: mingo@elte.hu
Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar -
Signed-off-by: Joe Perches
Signed-off-by: Ingo Molnar
04 Feb, 2008
1 commit
-
Use the _ASM_EXTABLE macro from , instead of open-coding
__ex_table entires in include/asm-x86/msr.h.Signed-off-by: H. Peter Anvin
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
30 Jan, 2008
11 commits
-
[ andi@firstfloor.org: build fix ]
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
move native_read_tsc() offline.
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
write_tsc() does not need to be enclosed in any paravirt closure,
as it uses wrmsr(). So we rip off the duplicate in msr.h
and the definition from paravirt.hSigned-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
arch/x86/vdso/vgetcpu.c: In function '__vdso_getcpu':
arch/x86/vdso/vgetcpu.c:22: warning: pointer targets in passing argument 1 of 'native_read_tscp' differ in signednessSigned-off-by: Andrew Morton
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
This patches proceeds with the integration of msr.h, making
the code unified, instead of having a version for each architecture.
We stick with the native_* functions, and then paravirt comes for free.Signed-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
This patch uses the _ASM_ALIGN and _ASM_PTR macros
to make the fixups in native_read/write_msr_safe look the same
for x86_64 and i386. Besides using this macros, we also have to
take the explicit instruction suffixes out. It's okay
because all this instructions uses registers, and can be sized by
them.Signed-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
This patche changes the native_write_msr() and friends interface
to explicitly take 2 32-bit registers instead of a 64-bit value.
The change will ease the merge with 64-bit code. As the 64-bit
value will be passed as two registers anyway in i386,
the PVOP_CALL interface has to account for that and use low/high parameters
It would force the x86_64 version to be different.The change does not make i386 generated code less efficient. As said above,
it would get the values from two registers anyway.Signed-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
the rdpmc instruction gets a counter argument in rcx. However,
the i386 version was ignoring it. To make both x86_64 and i386 versions
the same, as well as to comply with the instruction semantics, this
parameter is added in the i386 versionSigned-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
Targetting paravirt, this patch introduces native_read_tscp, in
place of rdtscp() macro. When in a paravirt guest, this will
involve a function call, and thus, cannot be done in the vdso area.
These users then have to call the native version directlySigned-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
cpuid is not very different between i386 and x86_64.
We move away the x86_64 version from msr.h, and
unify them at processor.h, where they belong.cpuid() paravirt then comes for free.
Signed-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
The functions under #ifdef CONFIG_SMP in msr.h are the same
for both x86_64 and i386, and this patches removes one of them,
putting them in a single locationSigned-off-by: Glauber de Oliveira Costa
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
15 Jan, 2008
1 commit
-
Since the msr.h header uses types like __u32, it should pull in linux/types.h.
[ mingo@elte.hu: affects user-space that includes this header. We dont
actually like user-space including raw kernel headers but it's a
longstanding practice and it's easy for the kernel to be nice about
this. ]Signed-off-by: Mike Frysinger
Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar
02 Jan, 2008
1 commit
-
Use __asm__ and __volatile__ in code that is exported to userspace. Wrap
kernel functions with __KERNEL__ so they get scrubbed.No code changed:
text data bss dec hex filename
9681036 1698924 3407872 14787832 e1a4f8 vmlinux.before
9681036 1698924 3407872 14787832 e1a4f8 vmlinux.afterSigned-off-by: Mike Frysinger
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
24 Oct, 2007
1 commit
-
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
11 Oct, 2007
1 commit
-
Move the headers to include/asm-x86 and fixup the
header install make rulesSigned-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar