[syslinux:elflink] elflink: add core/hello.c
syslinux-bot for Feng Tang
feng.tang at intel.com
Thu Aug 12 21:03:10 PDT 2010
Commit-ID: f86e7a6867e35bda1be65b8388c1cc6fecd198ba
Gitweb: http://syslinux.zytor.com/commit/f86e7a6867e35bda1be65b8388c1cc6fecd198ba
Author: Feng Tang <feng.tang at intel.com>
AuthorDate: Mon, 7 Jun 2010 12:05:22 +0800
Committer: Feng Tang <feng.tang at intel.com>
CommitDate: Tue, 20 Jul 2010 11:10:03 +0800
elflink: add core/hello.c
---
core/hello.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 96 insertions(+), 0 deletions(-)
diff --git a/core/hello.c b/core/hello.c
new file mode 100644
index 0000000..68eec04
--- /dev/null
+++ b/core/hello.c
@@ -0,0 +1,96 @@
+#include <stddef.h>
+#include <com32.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "core.h"
+
+#include <console.h>
+
+static int console_init = 0;
+
+void myputchar(int c)
+{
+ static com32sys_t ireg;
+
+ if (c == '\n')
+ myputchar('\r');
+
+ ireg.eax.b[1] = 0x02;
+ ireg.edx.b[0] = c;
+ __intcall(0x21, &ireg, NULL);
+}
+
+void myputs(const char *str)
+{
+ while (*str)
+ myputchar(*str++);
+}
+
+void hello(void)
+{
+ static char hello_str[] = "Hello, World!";
+
+ printf("%s from (%s)\n", hello_str, __FILE__); /* testing */
+}
+
+void hexdump(void *buf, int bytelen, const char *str)
+{
+ unsigned int *p32, i;
+
+ if (str)
+ printf("Dump %s:\n", str);
+
+ p32 = (unsigned int *)buf;
+ for (i = 0; i < (bytelen / 4); i++){
+ printf(" 0x%08x ", p32[i]);
+ }
+ printf("\n\n");
+}
+
+void mydump(void)
+{
+ printf("append buf at %x\n", AppendBuf);
+
+ hexdump(AppendBuf, 60, "appendbuf");
+}
+
+static inline void myprint(int num)
+{
+ uint32_t i;
+
+ for (i = 0; i < 5; i ++)
+ printf("%d", num);
+ printf("\n");
+}
+
+void mp1(void)
+{
+ myprint(1);
+}
+
+void mp2(void)
+{
+ myprint(2);
+}
+
+void mp3(void)
+{
+ myprint(3);
+}
+
+void mp4(void)
+{
+ myprint(4);
+}
+
+void mp5(void)
+{
+ myprint(5);
+}
+
+void printf_init(void)
+{
+ openconsole(&dev_null_r, &dev_stdcon_w);
+}
+
More information about the Syslinux-commits
mailing list