Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 99512
b: refs/heads/master
c: 006c484
h: refs/heads/master
v: v3
  • Loading branch information
Christoph Lameter authored and Ingo Molnar committed May 12, 2008
1 parent 01ea618 commit 9277c15
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 44 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f2ea3b1d4d7ab66d86da57899993282f3deb1f74
refs/heads/master: 006c484bb3d9547e82a33a09668c9b54b912c8fb
55 changes: 12 additions & 43 deletions trunk/include/asm-x86/thread_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,47 +11,42 @@
#include <asm/page.h>
#include <asm/types.h>

#ifdef CONFIG_X86_32

#ifndef __ASSEMBLY__
#include <asm/processor.h>
#endif

/*
* low level task data that entry.S needs immediate access to
* - this struct should fit entirely inside of one cache line
* - this struct shares the supervisor stack pages
* - if the contents of this structure are changed,
* the assembly constants must also be changed
*/
#ifndef __ASSEMBLY__
struct task_struct;
struct exec_domain;
#include <asm/processor.h>

struct thread_info {
struct task_struct *task; /* main task structure */
struct exec_domain *exec_domain; /* execution domain */
unsigned long flags; /* low level flags */
unsigned long status; /* thread-synchronous flags */
__u32 flags; /* low level flags */
__u32 status; /* thread synchronous flags */
__u32 cpu; /* current CPU */
int preempt_count; /* 0 => preemptable,
int preempt_count; /* 0 => preemptable,
<0 => BUG */
mm_segment_t addr_limit; /* thread address space:
0-0xBFFFFFFF user-thread
0-0xFFFFFFFF kernel-thread
*/
void *sysenter_return;
mm_segment_t addr_limit;
struct restart_block restart_block;
void __user *sysenter_return;
#ifdef CONFIG_X86_32
unsigned long previous_esp; /* ESP of the previous stack in
case of nested (IRQ) stacks
*/
__u8 supervisor_stack[0];
#endif
};

#else /* !__ASSEMBLY__ */

#include <asm/asm-offsets.h>

#endif

#ifdef CONFIG_X86_32

#define PREEMPT_ACTIVE 0x10000000
#ifdef CONFIG_4KSTACKS
#define THREAD_SIZE (4096)
Expand Down Expand Up @@ -181,32 +176,6 @@ static inline struct thread_info *current_thread_info(void)

#include <asm/pda.h>

/*
* low level task data that entry.S needs immediate access to
* - this struct should fit entirely inside of one cache line
* - this struct shares the supervisor stack pages
*/
#ifndef __ASSEMBLY__
struct task_struct;
struct exec_domain;
#include <asm/processor.h>

struct thread_info {
struct task_struct *task; /* main task structure */
struct exec_domain *exec_domain; /* execution domain */
__u32 flags; /* low level flags */
__u32 status; /* thread synchronous flags */
__u32 cpu; /* current CPU */
int preempt_count; /* 0 => preemptable,
<0 => BUG */
mm_segment_t addr_limit;
struct restart_block restart_block;
#ifdef CONFIG_IA32_EMULATION
void __user *sysenter_return;
#endif
};
#endif

/*
* macros/functions for gaining access to the thread information structure
* preempt_count needs to be 1 initially, until the scheduler is functional.
Expand Down

0 comments on commit 9277c15

Please sign in to comment.