truncate_above_4GB: Must be built like it is on powerpc due to address
space restrictions on hugepages.
brk_near_huge: add next_chunk case for ia64 to express that IA64 huge
page mappings start at 0x8000000000000000UL (2^63).
icache-hygeine: IA64 also gets a SIGILL in the icache-hygeiene test, so
add it to the powerpc conditional and update the comment.
Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]>
---
tests/brk_near_huge.c | 7 ++++++-
tests/icache-hygeine.c | 8 ++++----
tests/truncate_above_4GB.c | 5 +++--
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/tests/brk_near_huge.c b/tests/brk_near_huge.c
index be54914..4ed6bc9 100644
--- a/tests/brk_near_huge.c
+++ b/tests/brk_near_huge.c
@@ -47,11 +47,16 @@ void *next_chunk(void *addr)
/* 1TB segments above */
return PALIGN(addr, 0x10000000000UL);
}
-#elif __powerpc__
+#elif defined(__powerpc__)
void *next_chunk(void *addr)
{
return PALIGN(addr, 0x10000000UL);
}
+#elif defined(__ia64__)
+void *next_chunk(void *addr)
+{
+ return PALIGN(addr, 0x8000000000000000UL);
+}
#else
void *next_chunk(void *addr)
{
diff --git a/tests/icache-hygeine.c b/tests/icache-hygeine.c
index f1f9dc1..725dfc1 100644
--- a/tests/icache-hygeine.c
+++ b/tests/icache-hygeine.c
@@ -82,10 +82,10 @@ static void *sig_expected;
static void sig_handler(int signum, siginfo_t *si, void *uc)
{
-#if defined(__powerpc__) || defined(__powerpc64__)
- /* On powerpc, 0 bytes are an illegal instruction, so, if the
- * icache is cleared properly, we SIGILL as soon as we jump
- * into the cleared page */
+#if defined(__powerpc__) || defined(__powerpc64__) || defined(__ia64__)
+ /* On powerpc and ia64, 0 bytes are an illegal instruction, so,
+ * if the icache is cleared properly, we SIGILL as soon as we
+ * jump into the cleared page */
if (signum == SIGILL) {
verbose_printf("SIGILL at %p (sig_expected=%p)\n", si->si_addr,
sig_expected);
diff --git a/tests/truncate_above_4GB.c b/tests/truncate_above_4GB.c
index 974213e..d680044 100644
--- a/tests/truncate_above_4GB.c
+++ b/tests/truncate_above_4GB.c
@@ -104,8 +104,9 @@ int main(int argc, char *argv[])
/* This part of the test makes the problem more obvious, but
* is not essential. It can't be done on powerpc, where
* segment restrictions prohibit us from performing such a
- * mapping, so skip it there */
-#if !defined(__powerpc__) && !defined(__powerpc64__)
+ * mapping, so skip it there. Similarly, ia64's address space
+ * restrictions prevent this. */
+#if !defined(__powerpc__) && !defined(__powerpc64__) && !defined(__ia64__)
/* Replace middle hpage by tinypage mapping to trigger
* nr_ptes BUG */
verbose_printf("Replacing map at %p-%p...", q + hpage_size,
--
1.4.4.3.gc902c
--
Nishanth Aravamudan <[EMAIL PROTECTED]>
IBM Linux Technology Center
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Libhugetlbfs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel