Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
cb70bcab
Commit
cb70bcab
authored
Nov 10, 2004
by
Len Brown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge
parent
42bca133
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
17 deletions
+23
-17
include/asm-i386/processor.h
include/asm-i386/processor.h
+15
-8
include/asm-x86_64/processor.h
include/asm-x86_64/processor.h
+8
-9
No files found.
include/asm-i386/processor.h
View file @
cb70bcab
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
#include <linux/cache.h>
#include <linux/cache.h>
#include <linux/config.h>
#include <linux/config.h>
#include <linux/threads.h>
#include <linux/threads.h>
#include <asm/percpu.h>
/* flag for disabling the tsc */
/* flag for disabling the tsc */
extern
int
tsc_disable
;
extern
int
tsc_disable
;
...
@@ -84,8 +85,8 @@ struct cpuinfo_x86 {
...
@@ -84,8 +85,8 @@ struct cpuinfo_x86 {
extern
struct
cpuinfo_x86
boot_cpu_data
;
extern
struct
cpuinfo_x86
boot_cpu_data
;
extern
struct
cpuinfo_x86
new_cpu_data
;
extern
struct
cpuinfo_x86
new_cpu_data
;
extern
struct
tss_struct
init_tss
[
NR_CPUS
];
extern
struct
tss_struct
doublefault_tss
;
extern
struct
tss_struct
doublefault_tss
;
DECLARE_PER_CPU
(
struct
tss_struct
,
init_tss
);
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
extern
struct
cpuinfo_x86
cpu_data
[];
extern
struct
cpuinfo_x86
cpu_data
[];
...
@@ -296,6 +297,8 @@ extern unsigned int mca_pentium_flag;
...
@@ -296,6 +297,8 @@ extern unsigned int mca_pentium_flag;
*/
*/
#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3))
#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3))
#define HAVE_ARCH_PICK_MMAP_LAYOUT
/*
/*
* Size of io_bitmap.
* Size of io_bitmap.
*/
*/
...
@@ -304,6 +307,7 @@ extern unsigned int mca_pentium_flag;
...
@@ -304,6 +307,7 @@ extern unsigned int mca_pentium_flag;
#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
#define INVALID_IO_BITMAP_OFFSET 0x8000
#define INVALID_IO_BITMAP_OFFSET 0x8000
#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000
struct
i387_fsave_struct
{
struct
i387_fsave_struct
{
long
cwd
;
long
cwd
;
...
@@ -357,6 +361,8 @@ typedef struct {
...
@@ -357,6 +361,8 @@ typedef struct {
unsigned
long
seg
;
unsigned
long
seg
;
}
mm_segment_t
;
}
mm_segment_t
;
struct
thread_struct
;
struct
tss_struct
{
struct
tss_struct
{
unsigned
short
back_link
,
__blh
;
unsigned
short
back_link
,
__blh
;
unsigned
long
esp0
;
unsigned
long
esp0
;
...
@@ -388,10 +394,15 @@ struct tss_struct {
...
@@ -388,10 +394,15 @@ struct tss_struct {
* be within the limit.
* be within the limit.
*/
*/
unsigned
long
io_bitmap
[
IO_BITMAP_LONGS
+
1
];
unsigned
long
io_bitmap
[
IO_BITMAP_LONGS
+
1
];
/*
* Cache the current maximum and the last task that used the bitmap:
*/
unsigned
long
io_bitmap_max
;
struct
thread_struct
*
io_bitmap_owner
;
/*
/*
* pads the TSS to be cacheline-aligned (size is 0x100)
* pads the TSS to be cacheline-aligned (size is 0x100)
*/
*/
unsigned
long
__cacheline_filler
[
3
7
];
unsigned
long
__cacheline_filler
[
3
5
];
/*
/*
* .. and then another 0x100 bytes for emergency kernel stack
* .. and then another 0x100 bytes for emergency kernel stack
*/
*/
...
@@ -422,6 +433,8 @@ struct thread_struct {
...
@@ -422,6 +433,8 @@ struct thread_struct {
unsigned
int
saved_fs
,
saved_gs
;
unsigned
int
saved_fs
,
saved_gs
;
/* IO permissions */
/* IO permissions */
unsigned
long
*
io_bitmap_ptr
;
unsigned
long
*
io_bitmap_ptr
;
/* max allowed port in the bitmap, in bytes: */
unsigned
long
io_bitmap_max
;
};
};
#define INIT_THREAD { \
#define INIT_THREAD { \
...
@@ -439,7 +452,6 @@ struct thread_struct {
...
@@ -439,7 +452,6 @@ struct thread_struct {
#define INIT_TSS { \
#define INIT_TSS { \
.esp0 = sizeof(init_stack) + (long)&init_stack, \
.esp0 = sizeof(init_stack) + (long)&init_stack, \
.ss0 = __KERNEL_DS, \
.ss0 = __KERNEL_DS, \
.esp1 = sizeof(init_tss[0]) + (long)&init_tss[0], \
.ss1 = __KERNEL_CS, \
.ss1 = __KERNEL_CS, \
.ldt = GDT_ENTRY_LDT, \
.ldt = GDT_ENTRY_LDT, \
.io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
.io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
...
@@ -645,11 +657,6 @@ extern void select_idle_routine(const struct cpuinfo_x86 *c);
...
@@ -645,11 +657,6 @@ extern void select_idle_routine(const struct cpuinfo_x86 *c);
#define cache_line_size() (boot_cpu_data.x86_cache_alignment)
#define cache_line_size() (boot_cpu_data.x86_cache_alignment)
#ifdef CONFIG_SCHED_SMT
#define ARCH_HAS_SCHED_DOMAIN
#define ARCH_HAS_SCHED_WAKE_IDLE
#endif
extern
unsigned
long
boot_option_idle_override
;
extern
unsigned
long
boot_option_idle_override
;
#endif
/* __ASM_I386_PROCESSOR_H */
#endif
/* __ASM_I386_PROCESSOR_H */
include/asm-x86_64/processor.h
View file @
cb70bcab
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#include <asm/current.h>
#include <asm/current.h>
#include <asm/system.h>
#include <asm/system.h>
#include <asm/mmsegment.h>
#include <asm/mmsegment.h>
#include <asm/percpu.h>
#include <linux/personality.h>
#include <linux/personality.h>
#define TF_MASK 0x00000100
#define TF_MASK 0x00000100
...
@@ -60,6 +61,8 @@ struct cpuinfo_x86 {
...
@@ -60,6 +61,8 @@ struct cpuinfo_x86 {
int
x86_cache_alignment
;
int
x86_cache_alignment
;
int
x86_tlbsize
;
/* number of 4K pages in DTLB/ITLB combined(in pages)*/
int
x86_tlbsize
;
/* number of 4K pages in DTLB/ITLB combined(in pages)*/
__u8
x86_virt_bits
,
x86_phys_bits
;
__u8
x86_virt_bits
,
x86_phys_bits
;
__u8
x86_num_cores
;
__u8
x86_apicid
;
__u32
x86_power
;
__u32
x86_power
;
unsigned
long
loops_per_jiffy
;
unsigned
long
loops_per_jiffy
;
}
____cacheline_aligned
;
}
____cacheline_aligned
;
...
@@ -75,14 +78,11 @@ struct cpuinfo_x86 {
...
@@ -75,14 +78,11 @@ struct cpuinfo_x86 {
#define X86_VENDOR_NUM 8
#define X86_VENDOR_NUM 8
#define X86_VENDOR_UNKNOWN 0xff
#define X86_VENDOR_UNKNOWN 0xff
extern
struct
cpuinfo_x86
boot_cpu_data
;
extern
struct
tss_struct
init_tss
[
NR_CPUS
];
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
extern
struct
cpuinfo_x86
cpu_data
[];
extern
struct
cpuinfo_x86
cpu_data
[];
#define current_cpu_data cpu_data[smp_processor_id()]
#define current_cpu_data cpu_data[smp_processor_id()]
#else
#else
#define cpu_data
&boot_cpu_data
#define cpu_data
(&boot_cpu_data)
#define current_cpu_data boot_cpu_data
#define current_cpu_data boot_cpu_data
#endif
#endif
...
@@ -227,6 +227,9 @@ struct tss_struct {
...
@@ -227,6 +227,9 @@ struct tss_struct {
unsigned
long
io_bitmap
[
IO_BITMAP_LONGS
+
1
];
unsigned
long
io_bitmap
[
IO_BITMAP_LONGS
+
1
];
}
__attribute__
((
packed
))
____cacheline_aligned
;
}
__attribute__
((
packed
))
____cacheline_aligned
;
extern
struct
cpuinfo_x86
boot_cpu_data
;
DECLARE_PER_CPU
(
struct
tss_struct
,
init_tss
);
#define ARCH_MIN_TASKALIGN 16
#define ARCH_MIN_TASKALIGN 16
struct
thread_struct
{
struct
thread_struct
{
...
@@ -251,6 +254,7 @@ struct thread_struct {
...
@@ -251,6 +254,7 @@ struct thread_struct {
switch faster for a limited number of ioperm using tasks. -AK */
switch faster for a limited number of ioperm using tasks. -AK */
int
ioperm
;
int
ioperm
;
unsigned
long
*
io_bitmap_ptr
;
unsigned
long
*
io_bitmap_ptr
;
unsigned
io_bitmap_max
;
/* cached TLS descriptors. */
/* cached TLS descriptors. */
u64
tls_array
[
GDT_ENTRY_TLS_ENTRIES
];
u64
tls_array
[
GDT_ENTRY_TLS_ENTRIES
];
}
__attribute__
((
aligned
(
16
)));
}
__attribute__
((
aligned
(
16
)));
...
@@ -456,11 +460,6 @@ static inline void __mwait(unsigned long eax, unsigned long ecx)
...
@@ -456,11 +460,6 @@ static inline void __mwait(unsigned long eax, unsigned long ecx)
#define cache_line_size() (boot_cpu_data.x86_cache_alignment)
#define cache_line_size() (boot_cpu_data.x86_cache_alignment)
#ifdef CONFIG_SCHED_SMT
#define ARCH_HAS_SCHED_DOMAIN
#define ARCH_HAS_SCHED_WAKE_IDLE
#endif
extern
unsigned
long
boot_option_idle_override
;
extern
unsigned
long
boot_option_idle_override
;
#endif
/* __ASM_X86_64_PROCESSOR_H */
#endif
/* __ASM_X86_64_PROCESSOR_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment