summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-05-09 10:47:05 +0200
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-05-09 11:50:14 +0200
commitd2a3e911390f9fc4d8c0ee4b3c7fc75f4fd3fd19 (patch)
treed71aae6d706d1f3b01da5f944e247abe308feea0 /examples
parent7904b70885f3c589c239f6ac978f299a6744557f (diff)
parent173d294b94cfec10063a5be40934d6d8fb7981ce (diff)
downloadu-boot-imx-d2a3e911390f9fc4d8c0ee4b3c7fc75f4fd3fd19.zip
u-boot-imx-d2a3e911390f9fc4d8c0ee4b3c7fc75f4fd3fd19.tar.gz
u-boot-imx-d2a3e911390f9fc4d8c0ee4b3c7fc75f4fd3fd19.tar.bz2
Merge branch 'u-boot/master'
Conflicts: drivers/net/Makefile (trivial merge)
Diffstat (limited to 'examples')
-rw-r--r--examples/standalone/x86-testapp.c100
1 files changed, 0 insertions, 100 deletions
diff --git a/examples/standalone/x86-testapp.c b/examples/standalone/x86-testapp.c
deleted file mode 100644
index 1e16ec7..0000000
--- a/examples/standalone/x86-testapp.c
+++ /dev/null
@@ -1,100 +0,0 @@
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-
-void *func[8], **pfunc;
-
-typedef struct xxx xxx_t;
-struct xxx {
- int dummy;
- void **pfunc;
-} q;
-
-#define XF_strcpy 3
-#define XF_printf 4
-
-#define LABEL(x) \
-asm volatile ( \
-
-#if defined(__i386__)
-#define EXPORT_FUNC(x) \
-asm volatile ( \
-" .globl mon_" #x "\n" \
-"mon_" #x ":\n" \
-" movl %0, %%eax\n" \
-" movl pfunc, %%ecx\n" \
-" jmp *(%%ecx,%%eax)\n" \
- : : "i"(XF_ ## x * sizeof(void *)) : "eax", "ecx");
-#elif defined(__powerpc__)
-#define EXPORT_FUNC(x) \
-asm volatile ( \
-" .globl mon_" #x "\n" \
-"mon_" #x ":\n" \
-" lwz %%r11, %0(%%r2)\n" \
-" lwz %%r11, %1(%%r11)\n" \
-" mtctr %%r11\n" \
-" bctr\n" \
- : : "i"(offsetof(xxx_t, pfunc)), "i"(XF_ ## x * sizeof(void *)) : "r11", "r2");
-#elif defined(__arm__)
-#define EXPORT_FUNC(x) \
-asm volatile ( \
-" .globl mon_" #x "\n" \
-"mon_" #x ":\n" \
-" ldr ip, [r8, %0]\n" \
-" ldr pc, [ip, %1]\n" \
- : : "i"(offsetof(xxx_t, pfunc)), "i"(XF_ ## x * sizeof(void *)) : "ip");
-#elif defined(__mips__)
-#define EXPORT_FUNC(x) \
-asm volatile ( \
-" .globl mon_" #x "\n" \
-"mon_" #x ":\n" \
-" lw $25, %0($26)\n" \
-" lw $25, %1($25)\n" \
-" jr $25\n" \
- : : "i"(offsetof(xxx_t, pfunc)), "i"(XF_ ## x * sizeof(void *)) : "t9");
-#elif defined(__nds32__)
-#define EXPORT_FUNC(x) \
-asm volatile ( \
-" .globl mon_" #x "\n" \
-"mon_" #x ":\n" \
-" lwi $r16, [$gp + (%0)]\n" \
-" lwi $r16, [$r16 + (%1)]\n" \
-" jr $r16\n" \
-: : "i"(offsetof(xxx_t, pfunc)), \
-"i"(XF_ ## x * sizeof(void *)) : "$r16");
-
-#else
-#error [No stub code for this arch]
-#endif
-
-void dummy(void)
-{
-EXPORT_FUNC(printf)
-EXPORT_FUNC(strcpy)
-}
-
-int main(void)
-{
-#if defined(__i386__)
- xxx_t *pq;
-#elif defined(__powerpc__)
- register volatile xxx_t *pq asm("r2");
-#elif defined(__arm__)
- register volatile xxx_t *pq asm("r8");
-#elif defined(__mips__)
- register volatile xxx_t *pq asm("k0");
-#elif defined(__nds32__)
- register volatile xxx_t *pq asm("$r16");
-#endif
- char buf[32];
-
- func[XF_strcpy] = strcpy;
- func[XF_printf] = printf;
- pq = &q;
- pq->pfunc = pfunc = func;
-
- mon_strcpy(buf, "test");
- mon_printf("hi %s %d z\n", buf, 444);
-
- return 0;
-}