[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