diff options
author | Bodo Stroesser <bstroesser@fujitsu-siemens.com> | 2005-05-07 00:30:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-07 01:09:30 -0400 |
commit | b8bd0220c1ac6273eda66e25d992654219f846b6 (patch) | |
tree | 62ffb77c57261813fc8da66ce7ae404df313cff9 /arch/um | |
parent | 1f3be588b51e809476cdecd4eaf6fd04670d9c36 (diff) |
[PATCH] uml: S390 preparation, arch_align_stack
Only x86 and x86_64 use arch_align_stack(), all other subarches have:
#define arch_align_stack(x) (x)
So, if this definition is found, UML's own arch_align_stack() should be
skipped.
Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/kernel/process_kern.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/um/kernel/process_kern.c b/arch/um/kernel/process_kern.c index dea80d4357f0..3dcb080c44a0 100644 --- a/arch/um/kernel/process_kern.c +++ b/arch/um/kernel/process_kern.c | |||
@@ -466,12 +466,21 @@ int singlestepping(void * t) | |||
466 | return 2; | 466 | return 2; |
467 | } | 467 | } |
468 | 468 | ||
469 | /* | ||
470 | * Only x86 and x86_64 have an arch_align_stack(). | ||
471 | * All other arches have "#define arch_align_stack(x) (x)" | ||
472 | * in their asm/system.h | ||
473 | * As this is included in UML from asm-um/system-generic.h, | ||
474 | * we can use it to behave as the subarch does. | ||
475 | */ | ||
476 | #ifndef arch_align_stack | ||
469 | unsigned long arch_align_stack(unsigned long sp) | 477 | unsigned long arch_align_stack(unsigned long sp) |
470 | { | 478 | { |
471 | if (randomize_va_space) | 479 | if (randomize_va_space) |
472 | sp -= get_random_int() % 8192; | 480 | sp -= get_random_int() % 8192; |
473 | return sp & ~0xf; | 481 | return sp & ~0xf; |
474 | } | 482 | } |
483 | #endif | ||
475 | 484 | ||
476 | 485 | ||
477 | /* | 486 | /* |