This patch contains a small set of simple tests for testing guest functionality for powerpc.
Signed-off-by: Jerone Young <[EMAIL PROTECTED]> diff --git a/user/test/powerpc/io.S b/user/test/powerpc/io.S new file mode 100644 --- /dev/null +++ b/user/test/powerpc/io.S @@ -0,0 +1,32 @@ +#define SPRN_MMUCR 0x3b2 + +#define TLBWORD0 0xf0000210 +#define TLBWORD1 0xf0000000 +#define TLBWORD2 0x00000003 + +.global _start +_start: + li r4, 0 + mtspr SPRN_MMUCR, r4 + + li r3, 2 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 0 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 1 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 2 + + lis r3, 0xf000 + lis r4, 0x1234 + ori r4, r4, 0x5678 + stb r4, 0(r3) + lbz r5, 0(r3) + + b . diff --git a/user/test/powerpc/spin.S b/user/test/powerpc/spin.S new file mode 100644 --- /dev/null +++ b/user/test/powerpc/spin.S @@ -0,0 +1,4 @@ + +.global _start +_start: + b . diff --git a/user/test/powerpc/sprg.S b/user/test/powerpc/sprg.S new file mode 100644 --- /dev/null +++ b/user/test/powerpc/sprg.S @@ -0,0 +1,7 @@ + +.global _start +_start: + li r3, 42 + mtsprg 0, r3 + mfsprg r4, 0 + b . diff --git a/user/test/powerpc/tlbsx.S b/user/test/powerpc/tlbsx.S new file mode 100644 --- /dev/null +++ b/user/test/powerpc/tlbsx.S @@ -0,0 +1,33 @@ +#define SPRN_MMUCR 0x3b2 + +#define TLBWORD0 0x10000210 +#define TLBWORD1 0x10000000 +#define TLBWORD2 0x00000003 + +.global _start +_start: + li r4, 0 + mtspr SPRN_MMUCR, r4 + + li r3, 23 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 0 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 1 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 2 + + lis r4, 0x1000 + tlbsx r5, r4, r0 + cmpwi r5, 23 + beq good + trap + +good: + b . diff --git a/user/test/powerpc/tlbwe.S b/user/test/powerpc/tlbwe.S new file mode 100644 --- /dev/null +++ b/user/test/powerpc/tlbwe.S @@ -0,0 +1,27 @@ +#define SPRN_MMUCR 0x3b2 + +/* Create a mapping at 4MB */ +#define TLBWORD0 0x00400210 +#define TLBWORD1 0x00400000 +#define TLBWORD2 0x00000003 + +.global _start +_start: + li r4, 0 + mtspr SPRN_MMUCR, r4 + + li r3, 23 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 0 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 1 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 2 + + b . diff --git a/user/test/powerpc/tlbwe_16KB.S b/user/test/powerpc/tlbwe_16KB.S new file mode 100644 --- /dev/null +++ b/user/test/powerpc/tlbwe_16KB.S @@ -0,0 +1,35 @@ +#define SPRN_MMUCR 0x3b2 + +/* 16KB mapping at 4MB */ +#define TLBWORD0 0x00400220 +#define TLBWORD1 0x00400000 +#define TLBWORD2 0x00000003 + +.global _start +_start: + li r4, 0 + mtspr SPRN_MMUCR, r4 + + li r3, 5 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 0 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 1 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 2 + + /* load from 4MB */ + lis r3, 0x0040 + lwz r4, 0(r3) + + /* load from 4MB+8KB */ + ori r3, r3, 0x2000 + lwz r4, 0(r3) + + b . diff --git a/user/test/powerpc/tlbwe_hole.S b/user/test/powerpc/tlbwe_hole.S new file mode 100644 --- /dev/null +++ b/user/test/powerpc/tlbwe_hole.S @@ -0,0 +1,27 @@ +#define SPRN_MMUCR 0x3b2 + +/* Try to map real address 1GB. */ +#define TLBWORD0 0x40000210 +#define TLBWORD1 0x40000000 +#define TLBWORD2 0x00000003 + +.global _start +_start: + li r4, 0 + mtspr SPRN_MMUCR, r4 + + li r3, 23 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 0 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 1 + + lis r4, [EMAIL PROTECTED] + ori r4, r4, [EMAIL PROTECTED] + tlbwe r4, r3, 2 + + b . ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel