PERFORCE change 28210 for review
Peter Wemm
peter at FreeBSD.org
Sat Apr 5 02:37:46 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=28210
Change 28210 by peter at peter_overcee on 2003/04/05 02:37:28
stub out cpu identification, there's nothing to identify yet.
trivial b*, mem* implementations
Affected files ...
.. //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#39 edit
Differences ...
==== //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#39 (text+ko) ====
@@ -115,10 +115,12 @@
extern void dblfault_handler(void);
#endif
+#if 0
extern void printcpuinfo(void); /* XXX header file */
extern void finishidentcpu(void);
extern void panicifcpuunsupported(void);
extern void initializecpu(void);
+#endif
#define CS_SECURE(cs) (ISPL(cs) == SEL_UPL)
#define EFL_SECURE(ef, oef) ((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0)
@@ -164,8 +166,10 @@
* Good {morning,afternoon,evening,night}.
*/
startrtclock();
+#if 0
printcpuinfo();
panicifcpuunsupported();
+#endif
#ifdef PERFMON
perfmon_init();
#endif
@@ -1163,12 +1167,16 @@
Debugger("Boot flags requested debugger");
#endif
+#if 0
finishidentcpu(); /* Final stage of CPU initialization */
+#endif
setidt(6, &IDTVEC(ill), SDT_SYSTGT, SEL_KPL,
GSEL(GCODE_SEL, SEL_KPL));
setidt(13, &IDTVEC(prot), SDT_SYSTGT, SEL_KPL,
GSEL(GCODE_SEL, SEL_KPL));
+#if 0
initializecpu(); /* Initialize CPU registers */
+#endif
/* make an initial tss so cpu can get interrupt stack on syscall! */
#if 0
@@ -1587,3 +1595,64 @@
}
#endif /* DDB */
+
+void
+bcopy(const void *src, void *dest, size_t len)
+{
+ const char *csrc;
+ char *cdest;
+ size_t i;
+
+ csrc = (const char *)src;
+ cdest = (char *)dest;
+ if (src > dest) {
+ for (i = len - 1; i >= 0; i--)
+ cdest[i] = csrc[i];
+ } else {
+ for (i = 0; i < len; i++)
+ cdest[i] = csrc[i];
+ }
+}
+
+void *
+memcpy(void *dest, const void *src, size_t len)
+{
+
+ bcopy(src, dest, len);
+ return dest;
+}
+
+void
+bzero(void *buf, size_t len)
+{
+ char *cbuf;
+ size_t i;
+
+ cbuf = (char *)buf;
+ for (i = len - 1; i >= 0; i--)
+ cbuf[i] = 0;
+}
+
+void
+pagezero(void *buf)
+{
+
+ bzero(buf, PAGE_SIZE);
+}
+
+int
+bcmp(const void *s1, const void *s2, size_t len)
+{
+ const char *cs1, *cs2;
+ int diff;
+ size_t i;
+
+ cs1 = (const char *)s1;
+ cs2 = (const char *)s2;
+ for (i = 0; i < len; i++) {
+ diff = *cs2 - *cs1;
+ if (diff)
+ return diff;
+ }
+ return 0;
+}
More information about the p4-projects
mailing list