[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ltp-list
Subject:    [LTP] [PARISC] parisc-patch for Linux Test Project
From:       Helge Deller <deller () gmx ! de>
Date:       2007-01-06 20:31:18
Message-ID: enp0um$dek$1 () sea ! gmane ! org
[Download RAW message or body]

Hello * at The Linux Test Project !
CC: PARISC-Linux development mailing list

the trivial patch below is against the current CVS version of LTP and adds
missing pieces and changes which are necessary for LTP on the PARISC/HPPA
architecture.

The read04.c patch part is a real architecture-independend bugfix. The
read04 tests writes TST_SIZE bytes to a file, reads the same amount of
bytes back again and compares the contents. Naturally, it only should
verify if TST_SIZE bytes (the amount of bytes which where written!)
matches. sizeof() returns the number of bytes including the leading
zero-byte which hasn't been read back.

It would be really nice, if someone could apply this patch to the LTP CVS
sources.

Thanks,
Helge


Index: testcases/kernel/syscalls/read/read04.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/read/read04.c,v
retrieving revision 1.5
diff -u -p -r1.5 read04.c
--- testcases/kernel/syscalls/read/read04.c     25 Dec 2006 00:32:54 -0000      1.5
+++ testcases/kernel/syscalls/read/read04.c     6 Jan 2007 20:19:12 -0000
@@ -105,7 +105,7 @@ int main(int ac, char **av)
                                         "expected %d", TEST_RETURN, TST_SIZE);
                                continue;
                        }
-                       if (memcmp(palfa, prbuf, sizeof(palfa)) != 0) {
+                       if (memcmp(palfa, prbuf, TST_SIZE) != 0) {
                                tst_resm(TFAIL, "read buffer not equal "
                                         "to write buffer");
                                continue;
Index: testcases/kernel/mem/shmt/shmt02.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/mem/shmt/shmt02.c,v
retrieving revision 1.4
diff -u -p -r1.4 shmt02.c
--- testcases/kernel/mem/shmt/shmt02.c  29 Jul 2003 19:46:14 -0000      1.4
+++ testcases/kernel/mem/shmt/shmt02.c  6 Jan 2007 20:19:12 -0000
@@ -81,7 +81,7 @@ int main()
 
 
                 /* are we doing with ia64 or arm_arch_4t arch */
-#if defined (__ia64__) || defined (__ARM_ARCH_4T__)
+#if defined (__ia64__) || defined (__ARM_ARCH_4T__) || defined(__hppa__)
                 cp = (char *) shmat(shmid, (void *)NULL, 0);
 #else          
                 cp = (char *) shmat(shmid, (void *)0x80000, 0);
Index: testcases/kernel/mem/shmt/shmt04.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/mem/shmt/shmt04.c,v
retrieving revision 1.5
diff -u -p -r1.5 shmt04.c
--- testcases/kernel/mem/shmt/shmt04.c  29 Jul 2003 19:46:14 -0000      1.5
+++ testcases/kernel/mem/shmt/shmt04.c  6 Jan 2007 20:19:12 -0000
@@ -107,7 +107,7 @@ if ((shmid = shmget(key, SIZE, IPC_CREAT
 else {
 #ifdef __ia64__
   cp = (char *) shmat(shmid, ADDR1, 0);
-#elif defined(__ARM_ARCH_4T__)
+#elif defined(__ARM_ARCH_4T__) || defined(__hppa__)
   cp = (char *) shmat(shmid, NULL, 0);
 #else
   cp = (char *) shmat(shmid, ADDR, 0);
@@ -185,7 +185,7 @@ else 
 {
 #ifdef __ia64__
   cp = (char *) shmat(shmid, ADDR1, 0);
-#elif defined(__ARM_ARCH_4T__)
+#elif defined(__ARM_ARCH_4T__) || defined(__hppa__)
   cp = (char *) shmat(shmid, NULL, 0);
 #else
   cp = (char *) shmat(shmid, ADDR, 0);
Index: testcases/kernel/mem/shmt/shmt05.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/mem/shmt/shmt05.c,v
retrieving revision 1.4
diff -u -p -r1.4 shmt05.c
--- testcases/kernel/mem/shmt/shmt05.c  29 Jul 2003 19:46:14 -0000      1.4
+++ testcases/kernel/mem/shmt/shmt05.c  6 Jan 2007 20:19:12 -0000
@@ -85,7 +85,7 @@ int main()
  } else {
 #ifdef __ia64__ 
   cp = (char *) shmat(shmid, ADDR_IA, 0);
-#elif defined(__ARM_ARCH_4T__)
+#elif defined(__ARM_ARCH_4T__) || defined(__hppa__)
   cp = (char *) shmat(shmid, (void *)NULL, 0);
 #else
   cp = (char *) shmat(shmid, ADDR, 0);
@@ -111,6 +111,8 @@ int main()
    cp1 = (char *) shmat(shmid1, ADDR1_IA, 0);
 #elif defined(__ARM_ARCH_4T__)
    cp1 = (char *) shmat(shmid1, (void *)NULL, 0);
+#elif defined(__hppa__)
+   cp1 = (char *) shmat(shmid1, cp+4096, 0);
 #else
    cp1 = (char *) shmat(shmid1, ADDR1, 0);
 #endif
Index: testcases/kernel/mem/shmt/shmt06.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/mem/shmt/shmt06.c,v
retrieving revision 1.6
diff -u -p -r1.6 shmt06.c
--- testcases/kernel/mem/shmt/shmt06.c  14 Jun 2004 19:14:09 -0000      1.6
+++ testcases/kernel/mem/shmt/shmt06.c  6 Jan 2007 20:19:12 -0000
@@ -51,6 +51,8 @@
 #define                ADDR1           (void *)0xA0000
 #define         ADDR_MIPS       (void *)0x80000
 #define         ADDR1_MIPS      (void *)0xC0000
+#define                ADDR_HPPA       (void *)0x10000000
+#define                ADDR1_HPPA      (void *)0x20000000
 #define        ADDR_IA         (void *)0x40000000
 #define        ADDR1_IA        (void *)0x50000000
 #define                SIZE            16*1024
@@ -111,6 +113,8 @@ int main()
                  cp = (char *) shmat(shmid, (void*) NULL, 0);
 #elif defined(__mips__)
                  cp = (char *) shmat(shmid, ADDR_MIPS, 0);
+#elif defined(__hppa__)
+                 cp = (char *) shmat(shmid, ADDR_HPPA, 0);
 #else
                  cp = (char *) shmat(shmid, ADDR, 0);
 #endif 
@@ -187,6 +191,8 @@ int child()
                  cp = (char *) shmat(shmid, (void *) NULL, 0);
 #elif defined(__mips__)        
                  cp = (char *) shmat(shmid, ADDR1_MIPS, 0);
+#elif defined(__hppa__)        
+                 cp = (char *) shmat(shmid, ADDR1_HPPA, 0);
 #else
                  cp = (char *) shmat(shmid, ADDR1, 0);
 #endif
Index: testcases/kernel/mem/shmt/shmt07.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/mem/shmt/shmt07.c,v
retrieving revision 1.4
diff -u -p -r1.4 shmt07.c
--- testcases/kernel/mem/shmt/shmt07.c  29 Jul 2003 19:46:14 -0000      1.4
+++ testcases/kernel/mem/shmt/shmt07.c  6 Jan 2007 20:19:12 -0000
@@ -84,7 +84,7 @@ int main()
 
 #ifdef __ia64__        
          cp = (char *) shmat(shmid, ADDR_IA, 0);
-#elif defined(__ARM_ARCH_4T__)
+#elif defined(__ARM_ARCH_4T__) || defined(__hppa__)
          cp = (char *) shmat(shmid, (void *) NULL, 0);
 #else
          cp = (char *) shmat(shmid, ADDR, 0);
Index: testcases/kernel/mem/shmt/shmt09.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/mem/shmt/shmt09.c,v
retrieving revision 1.11
diff -u -p -r1.11 shmt09.c
--- testcases/kernel/mem/shmt/shmt09.c  15 Nov 2006 21:11:43 -0000      1.11
+++ testcases/kernel/mem/shmt/shmt09.c  6 Jan 2007 20:19:12 -0000
@@ -68,7 +68,7 @@ int main()
        char    *c1=NULL, *c2=NULL, *c3=NULL;
        void    *vp;
        int     shmid;
-#if defined(__ia64__) || defined(__mips__)
+#if defined(__ia64__) || defined(__mips__) || defined(__hppa__)
        int     increment;
 #endif
        key_t   key;
@@ -179,7 +179,7 @@ int main()
                        rm_shm(shmid);
                        tst_exit();
        }
-#elif __mips__
+#elif defined(__mips__) || defined(__hppa__)
                increment=262144;        /* 256Kb */
                while ((vp = sbrk(increment)) != (void *)-1);
                if (errno != ENOMEM) {
Index: testcases/kernel/io/direct_io/diotest4.c
===================================================================
RCS file: /cvsroot/ltp/ltp/testcases/kernel/io/direct_io/diotest4.c,v
retrieving revision 1.18
diff -u -p -r1.18 diotest4.c
--- testcases/kernel/io/direct_io/diotest4.c    9 Nov 2006 16:34:11 -0000       1.18
+++ testcases/kernel/io/direct_io/diotest4.c    6 Jan 2007 20:19:12 -0000
@@ -546,6 +546,8 @@ main(int argc, char *argv[])
        else {
 #if defined(__powerpc64__)
                ret = read(fd, (char*)(((ulong *)main)[0] & pagemask), count);
+#elif defined(__hppa__)
+               ret = read(fd, (char*)((ulong)__builtin_return_address(0) & pagemask),
count);
 #else
                ret = read(fd, (char*)((ulong)main & pagemask), count);
 #endif
@@ -563,6 +565,8 @@ main(int argc, char *argv[])
        else {
 #if defined(__powerpc64__)
                ret = write(fd, (char *)(((ulong *)main)[0] & pagemask), count);
+#elif defined(__hppa__)
+               ret = write(fd, (char *)((ulong)__builtin_return_address(0) & pagemask),
count);
 #else
                ret = write(fd, (char *)((ulong)main & pagemask), count);
 #endif
Index: testcases/kernel/include/linux_syscall_numbers.h
===================================================================
RCS
file: /cvsroot/ltp/ltp/testcases/kernel/include/linux_syscall_numbers.h,v
retrieving revision 1.2
diff -u -p -r1.2 linux_syscall_numbers.h
--- testcases/kernel/include/linux_syscall_numbers.h    10 Sep 2006 10:12:01
-0000   1.2
+++ testcases/kernel/include/linux_syscall_numbers.h    6 Jan 2007 20:19:12
-0000
@@ -136,7 +136,7 @@
 #endif
 
 
-#ifdef __parisc__
+#if defined(__hppa__)
 # ifndef __NR_openat
 #  define __NR_openat 275
 # endif
@@ -179,6 +179,15 @@
 # ifndef __NR_faccessat
 #  define __NR_faccessat (__NR_openat + 12)
 # endif
+# ifndef __NR_splice
+#  define __NR_splice 291
+# endif
+# ifndef __NR_tee
+#  define __NR_tee 293
+# endif
+# ifndef __NR_vmsplice
+#  define __NR_vmsplice 294
+# endif
 #endif
 
 


-------------------------------------------------------------------------
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
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic