Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 248 → Rev 251

/SPARTAN/trunk/arch/amd64/include/cpuid.h
31,6 → 31,9
 
#include <arch/types.h>
 
#define AMD_CPUID_EXTENDED 0x80000001
#define AMD_EXT_NOEXECUTE 20
 
struct cpu_info {
__u32 cpuid_eax;
__u32 cpuid_ebx;
40,21 → 43,9
 
extern int has_cpuid(void);
 
static inline void cpuid(__u32 cmd, cpu_info_t *info)
{
__asm__ (
"movl %1, %eax"
"cpuid"
"movl %eax, 0(%0)"
"movl %ebx, 4(%0)"
"movl %ecx, 8(%0)"
"movl %edx, 12(%0)"
: "=m"(info)
: "r"(cmd)
: "%eax","%ebx","%ecx","%edx"
);
}
extern void cpuid(__u32 cmd, cpu_info_t *info);
 
 
extern __u64 rdtsc(void);
 
#endif
/SPARTAN/trunk/arch/amd64/include/mm/page.h
42,7 → 42,7
# define PA2KA(x) (((__address) (x)) - 0x80000000)
#else
# define KA2PA(x) ((x) + 0x80000000)
//# define PA2KA(x) ((x)) - 0x80000000)
# define PA2KA(x) ((x) - 0x80000000)
#endif
 
#define PTL0_INDEX_ARCH(vaddr) (((vaddr)>>39)&0x1ff)
/SPARTAN/trunk/arch/amd64/include/cpu.h
29,11 → 29,18
#ifndef __amd64_CPU_H__
#define __amd64_CPU_H__
 
#include <config.h>
#include <proc/thread.h>
 
#define EFER_MSR_NUM 0xc0000080
#define AMD_SCE_FLAG 0
#define AMD_LME_FLAG 8
#define AMD_LMA_FLAG 10
#define AMD_FFXSR_FLAG 14
#define AMD_NXE_FLAG 11
 
#ifndef __ASM__
 
#include <typedefs.h>
#include <arch/pm.h>
#include <arch/asm.h>
 
struct cpu_arch {
int vendor;
44,7 → 51,11
};
 
 
void set_TS_flag(void);
void reset_TS_flag(void);
extern void set_TS_flag(void);
extern void reset_TS_flag(void);
extern void set_efer_flag(int flag);
extern __u64 read_efer_flag(void);
 
#endif /* __ASM__ */
 
#endif