17 Apr, 2008

2 commits


04 Feb, 2008

1 commit


30 Jan, 2008

11 commits

  • [ andi@firstfloor.org: build fix ]

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Ingo Molnar
     
  • move native_read_tsc() offline.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Ingo Molnar
     
  • 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.h

    Signed-off-by: Glauber de Oliveira Costa
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Glauber de Oliveira Costa
     
  • 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 signedness

    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Andrew Morton
     
  • 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

    Glauber de Oliveira Costa
     
  • 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

    Glauber de Oliveira Costa
     
  • 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

    Glauber de Oliveira Costa
     
  • 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 version

    Signed-off-by: Glauber de Oliveira Costa
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Glauber de Oliveira Costa
     
  • 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 directly

    Signed-off-by: Glauber de Oliveira Costa
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Glauber de Oliveira Costa
     
  • 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

    Glauber de Oliveira Costa
     
  • 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 location

    Signed-off-by: Glauber de Oliveira Costa
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Glauber de Oliveira Costa
     

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

    Mike Frysinger
     

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.after

    Signed-off-by: Mike Frysinger
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Mike Frysinger
     

24 Oct, 2007

1 commit


11 Oct, 2007

1 commit