-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sh: Consolidate segment modifiers across mmu/nommu systems.
This moves get_fs/set_fs() and friends in to asm/segment.h. The mm_segment_t definition is likewise consolidated from the _32/_64 split. This is prepatory groundwork for using the generic address space limit and verification routines across mmu/nommu configs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
- Loading branch information
Paul Mundt
committed
Jul 28, 2008
1 parent
3787aa1
commit 02f7e62
Showing
5 changed files
with
33 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,34 @@ | ||
#ifndef __ASM_SH_SEGMENT_H | ||
#define __ASM_SH_SEGMENT_H | ||
|
||
/* Only here because we have some old header files that expect it.. */ | ||
#ifndef __ASSEMBLY__ | ||
|
||
typedef struct { | ||
unsigned long seg; | ||
} mm_segment_t; | ||
|
||
#define MAKE_MM_SEG(s) ((mm_segment_t) { (s) }) | ||
|
||
/* | ||
* The fs value determines whether argument validity checking should be | ||
* performed or not. If get_fs() == USER_DS, checking is performed, with | ||
* get_fs() == KERNEL_DS, checking is bypassed. | ||
* | ||
* For historical reasons, these macros are grossly misnamed. | ||
*/ | ||
#define KERNEL_DS MAKE_MM_SEG(0xFFFFFFFFUL) | ||
#ifdef CONFIG_MMU | ||
#define USER_DS MAKE_MM_SEG(PAGE_OFFSET) | ||
#else | ||
#define USER_DS KERNEL_DS | ||
#endif | ||
|
||
#define segment_eq(a,b) ((a).seg == (b).seg) | ||
|
||
#define get_ds() (KERNEL_DS) | ||
|
||
#define get_fs() (current_thread_info()->addr_limit) | ||
#define set_fs(x) (current_thread_info()->addr_limit = (x)) | ||
|
||
#endif /* __ASSEMBLY__ */ | ||
#endif /* __ASM_SH_SEGMENT_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters