[PATCH] Make vm86 support optional
This adds an option to remove vm86 support under CONFIG_EMBEDDED. Saves about 5k. This version eliminates most of the #ifdefs of the previous version and instead uses function stubs in vm86.h. Also, release_vm86_irqs is moved from asm-i386/irq.h to a more appropriate home in vm86.h so that the stubs can live together. $ size vmlinux-baseline vmlinux-novm86 text data bss dec hex filename 2920821 523232 190652 3634705 377611 vmlinux-baseline 2916268 523100 190492 3629860 376324 vmlinux-novm86 Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
708e9a794c
commit
64ca9004b8
@@ -16,7 +16,11 @@
|
||||
#define IF_MASK 0x00000200
|
||||
#define IOPL_MASK 0x00003000
|
||||
#define NT_MASK 0x00004000
|
||||
#ifdef CONFIG_VM86
|
||||
#define VM_MASK 0x00020000
|
||||
#else
|
||||
#define VM_MASK 0 /* ignored */
|
||||
#endif
|
||||
#define AC_MASK 0x00040000
|
||||
#define VIF_MASK 0x00080000 /* virtual interrupt flag */
|
||||
#define VIP_MASK 0x00100000 /* virtual interrupt pending */
|
||||
@@ -200,9 +204,25 @@ struct kernel_vm86_struct {
|
||||
*/
|
||||
};
|
||||
|
||||
#ifdef CONFIG_VM86
|
||||
|
||||
void handle_vm86_fault(struct kernel_vm86_regs *, long);
|
||||
int handle_vm86_trap(struct kernel_vm86_regs *, long, int);
|
||||
|
||||
struct task_struct;
|
||||
void release_vm86_irqs(struct task_struct *);
|
||||
|
||||
#else
|
||||
|
||||
#define handle_vm86_fault(a, b)
|
||||
#define release_vm86_irqs(a)
|
||||
|
||||
static inline int handle_vm86_trap(struct kernel_vm86_regs *a, long b, int c) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_VM86 */
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user