diff options
author | Peter Tyser <ptyser@xes-inc.com> | 2009-07-10 11:03:19 -0500 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-07-21 00:13:21 +0200 |
commit | 1bc1538613d66cef3cbce680fc8d7c3561a0fbd0 (patch) | |
tree | f832202519d4077e8ca735948198691f054fe968 /examples/x86-testapp.c | |
parent | b220c64d86f7c705a183302c3b50076d7e5d876c (diff) | |
download | u-boot-imx-1bc1538613d66cef3cbce680fc8d7c3561a0fbd0.zip u-boot-imx-1bc1538613d66cef3cbce680fc8d7c3561a0fbd0.tar.gz u-boot-imx-1bc1538613d66cef3cbce680fc8d7c3561a0fbd0.tar.bz2 |
Move examples/ to examples/standalone
The current files in examples are all standalone application examples,
so put them in their own subdirectory for organizational purposes
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Diffstat (limited to 'examples/x86-testapp.c')
-rw-r--r-- | examples/x86-testapp.c | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/examples/x86-testapp.c b/examples/x86-testapp.c deleted file mode 100644 index e8603d9..0000000 --- a/examples/x86-testapp.c +++ /dev/null @@ -1,87 +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"); -#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"); -#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; -} |