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

Reply via email to