summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/stand
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2012-10-30 14:06:30 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2012-10-30 14:06:30 +0000
commit73b501f9e7b72dd509a9b8d60ced65be3db8742b (patch)
treee40fc6ac31e5a0ca4a03181deaebbbe70ae1cdcd /sys/arch/amd64/stand
parent2f004055b83f45bdf36995e319dea3b4435d14d0 (diff)
Apply a bunch of style(9) and whitespace fixes to i386/amd64 libsa, making
the code actually diffable. No binary change.
Diffstat (limited to 'sys/arch/amd64/stand')
-rw-r--r--sys/arch/amd64/stand/libsa/bioscons.c7
-rw-r--r--sys/arch/amd64/stand/libsa/biosprobe.c38
-rw-r--r--sys/arch/amd64/stand/libsa/cmd_i386.c46
-rw-r--r--sys/arch/amd64/stand/libsa/dev_i386.c31
-rw-r--r--sys/arch/amd64/stand/libsa/diskprobe.c44
-rw-r--r--sys/arch/amd64/stand/libsa/exec_i386.c12
-rw-r--r--sys/arch/amd64/stand/libsa/libsa.h4
-rw-r--r--sys/arch/amd64/stand/libsa/memprobe.c148
-rw-r--r--sys/arch/amd64/stand/libsa/time.c43
9 files changed, 198 insertions, 175 deletions
diff --git a/sys/arch/amd64/stand/libsa/bioscons.c b/sys/arch/amd64/stand/libsa/bioscons.c
index 5913b5f2eb8..a3e1425b894 100644
--- a/sys/arch/amd64/stand/libsa/bioscons.c
+++ b/sys/arch/amd64/stand/libsa/bioscons.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bioscons.c,v 1.7 2012/06/10 21:02:42 kettenis Exp $ */
+/* $OpenBSD: bioscons.c,v 1.8 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -90,6 +90,7 @@ pc_getc(dev_t dev)
__asm __volatile(DOINT(0x16) : "=a" (rv) : "0" (0x000) :
"%ecx", "%edx", "cc" );
+
return (rv & 0xff);
}
@@ -130,7 +131,7 @@ com_probe(struct consdev *cn)
cn->cn_dev = makedev(8, 0);
}
-int com_speed = -1; /* default speed is 9600 baud */
+int com_speed = -1;
int com_addr = -1;
void
@@ -140,7 +141,7 @@ com_init(struct consdev *cn)
outb(port + com_ier, 0);
if (com_speed == -1)
- comspeed(cn->cn_dev, 9600);
+ comspeed(cn->cn_dev, 9600); /* default speed is 9600 baud */
outb(port + com_mcr, MCR_DTR | MCR_RTS);
outb(port + com_fifo, FIFO_ENABLE | FIFO_RCV_RST | FIFO_XMT_RST |
FIFO_TRIGGER_1);
diff --git a/sys/arch/amd64/stand/libsa/biosprobe.c b/sys/arch/amd64/stand/libsa/biosprobe.c
index 8e57907ffb8..f82360a0e54 100644
--- a/sys/arch/amd64/stand/libsa/biosprobe.c
+++ b/sys/arch/amd64/stand/libsa/biosprobe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: biosprobe.c,v 1.1 2004/02/03 12:09:47 mickey Exp $ */
+/* $OpenBSD: biosprobe.c,v 1.2 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 2002 Tobias Weingartner
@@ -38,22 +38,22 @@
void *
getSYSCONFaddr(void)
{
- u_int32_t status;
+ u_int32_t status;
u_int8_t *vers;
- __asm __volatile(DOINT(0x15) "\n\t"
- "setc %%al\n\t"
- : "=a" (status)
- : "0" (0xC000)
- : "%ebx", "%ecx", "%edx", "%esi", "%edi", "cc");
+ __asm __volatile(DOINT(0x15) "\n\t"
+ "setc %%al\n\t"
+ : "=a" (status)
+ : "0" (0xC000)
+ : "%ebx", "%ecx", "%edx", "%esi", "%edi", "cc");
/* On failure we go for a NULL */
- if(status)
- return(NULL);
+ if (status)
+ return NULL;
/* Calculate where the version bytes are */
vers = (void*)((BIOS_regs.biosr_es << 4) | BIOS_regs.biosr_bx);
- return(vers);
+ return vers;
}
void *
@@ -63,18 +63,20 @@ getEBDAaddr(void)
u_int8_t *info;
info = getSYSCONFaddr();
- if(!info) return(NULL);
+
+ if (!info)
+ return NULL;
__asm __volatile(DOINT(0x15) "\n\t"
- "setc %%al"
- : "=a" (status)
- : "0" (0xC100)
- : "%ebx", "%ecx", "%edx", "%esi", "%edi", "cc");
+ "setc %%al"
+ : "=a" (status)
+ : "0" (0xC100)
+ : "%ebx", "%ecx", "%edx", "%esi", "%edi", "cc");
- if(status) return(NULL);
+ if (status)
+ return NULL;
info = (void *)(BIOS_regs.biosr_es << 4);
- return(info);
+ return info;
}
-
diff --git a/sys/arch/amd64/stand/libsa/cmd_i386.c b/sys/arch/amd64/stand/libsa/cmd_i386.c
index f2a4ddd2ea9..7fbdca1b0fa 100644
--- a/sys/arch/amd64/stand/libsa/cmd_i386.c
+++ b/sys/arch/amd64/stand/libsa/cmd_i386.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd_i386.c,v 1.4 2012/06/03 13:18:33 kettenis Exp $ */
+/* $OpenBSD: cmd_i386.c,v 1.5 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -14,8 +14,8 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
@@ -50,12 +50,12 @@ int Xregs(void);
int bootbuf(void *, int);
const struct cmd_table cmd_machine[] = {
- { "boot", CMDT_CMD, Xboot },
- { "comaddr", CMDT_CMD, Xcomaddr },
- { "diskinfo", CMDT_CMD, Xdiskinfo },
- { "memory", CMDT_CMD, Xmemory },
+ { "boot", CMDT_CMD, Xboot },
+ { "comaddr", CMDT_CMD, Xcomaddr },
+ { "diskinfo", CMDT_CMD, Xdiskinfo },
+ { "memory", CMDT_CMD, Xmemory },
#ifdef DEBUG
- { "regs", CMDT_CMD, Xregs },
+ { "regs", CMDT_CMD, Xregs },
#endif
{ NULL, 0 }
};
@@ -86,21 +86,22 @@ Xboot(void)
bios_diskinfo_t *bd = NULL;
char buf[DEV_BSIZE], *dest = (void *)BOOTBIOS_ADDR;
- if(cmd.argc != 2) {
+ if (cmd.argc != 2) {
printf("machine boot {fd,hd}<0123>[abcd]\n");
printf("Where [0123] is the disk number,"
- " and [abcd] is the partition.\n");
+ " and [abcd] is the partition.\n");
return 0;
}
/* Check arg */
- if(cmd.argv[1][0] != 'f' && cmd.argv[1][0] != 'h')
+ if (cmd.argv[1][0] != 'f' && cmd.argv[1][0] != 'h')
goto bad;
- if(cmd.argv[1][1] != 'd')
+ if (cmd.argv[1][1] != 'd')
goto bad;
- if(cmd.argv[1][2] < '0' || cmd.argv[1][2] > '3')
+ if (cmd.argv[1][2] < '0' || cmd.argv[1][2] > '3')
goto bad;
- if((cmd.argv[1][3] < 'a' || cmd.argv[1][3] > 'd') && cmd.argv[1][3] != '\0')
+ if ((cmd.argv[1][3] < 'a' || cmd.argv[1][3] > 'd') &&
+ cmd.argv[1][3] != '\0')
goto bad;
printf("Booting from %s ", cmd.argv[1]);
@@ -117,14 +118,15 @@ Xboot(void)
/* Read boot sector from device */
bd = bios_dklookup(dev);
st = biosd_io(F_READ, bd, 0, 1, buf);
- if(st) goto bad;
+ if (st)
+ goto bad;
/* Frob boot flag in buffer from HD */
- if((dev & 0x80) && (part > 0)){
+ if ((dev & 0x80) && (part > 0)){
int i, j;
- for(i = 0, j = DOSPARTOFF; i < 4; i++, j += 16)
- if(part == i)
+ for (i = 0, j = DOSPARTOFF; i < 4; i++, j += 16)
+ if (part == i)
buf[j] |= 0x80;
else
buf[j] &= ~0x80;
@@ -155,7 +157,7 @@ Xmemory(void)
size = strtoll(p + 1, &p, 0);
/* Size the size */
- switch(*p) {
+ switch (*p) {
case 'G':
size *= 1024;
case 'M':
@@ -166,7 +168,7 @@ Xmemory(void)
}
/* Handle (possibly non-existant) address part */
- switch(*p) {
+ switch (*p) {
case '@':
addr = strtoll(p + 1, NULL, 0);
break;
@@ -180,7 +182,7 @@ Xmemory(void)
}
if (addr == 0 || size == 0) {
- printf ("bad language\n");
+ printf("bad language\n");
return 0;
} else {
switch (cmd.argv[i][0]) {
@@ -194,7 +196,7 @@ Xmemory(void)
mem_limit(size);
break;
default :
- printf ("bad OP\n");
+ printf("bad OP\n");
return 0;
}
}
diff --git a/sys/arch/amd64/stand/libsa/dev_i386.c b/sys/arch/amd64/stand/libsa/dev_i386.c
index 342454a25d3..9a26a6cbdee 100644
--- a/sys/arch/amd64/stand/libsa/dev_i386.c
+++ b/sys/arch/amd64/stand/libsa/dev_i386.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dev_i386.c,v 1.12 2012/10/27 15:43:42 jsing Exp $ */
+/* $OpenBSD: dev_i386.c,v 1.13 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1996-1999 Michael Shalayeff
@@ -30,14 +30,14 @@
#include <sys/queue.h>
#include <sys/disklabel.h>
#include <dev/cons.h>
-#include <dev/biovar.h>
-#include <dev/softraidvar.h>
#include "libsa.h"
#include "biosdev.h"
#include "disk.h"
#ifdef SOFTRAID
+#include <dev/biovar.h>
+#include <dev/softraidvar.h>
#include "softraid.h"
#endif
@@ -83,7 +83,7 @@ devopen(struct open_file *f, const char *fname, char **file)
else if (debug)
printf("%d", rc);
#endif
-
+
}
#ifdef DEBUG
if (debug)
@@ -165,7 +165,7 @@ int pch_pos = 0;
void
putchar(int c)
{
- switch(c) {
+ switch (c) {
case '\177': /* DEL erases */
cnputc('\b');
cnputc(' ');
@@ -175,9 +175,9 @@ putchar(int c)
pch_pos--;
break;
case '\t':
- do
+ do {
cnputc(' ');
- while(++pch_pos % 8);
+ } while (++pch_pos % 8);
break;
case '\n':
case '\r':
@@ -200,11 +200,11 @@ getchar(void)
c = '\n';
if ((c < ' ' && c != '\n') || c == '\177')
- return(c);
+ return c;
putchar(c);
- return(c);
+ return c;
}
char ttyname_buf[8];
@@ -213,9 +213,9 @@ char *
ttyname(int fd)
{
snprintf(ttyname_buf, sizeof ttyname_buf, "%s%d",
- cdevs[major(cn_tab->cn_dev)],
- minor(cn_tab->cn_dev));
- return (ttyname_buf);
+ cdevs[major(cn_tab->cn_dev)], minor(cn_tab->cn_dev));
+
+ return ttyname_buf;
}
dev_t
@@ -227,11 +227,11 @@ ttydev(char *name)
while (no >= name && *no >= '0' && *no <= '9')
unit = (unit < 0 ? 0 : (unit * 10)) + *no-- - '0';
if (no < name || unit < 0)
- return (NODEV);
+ return NODEV;
for (i = 0; i < ncdevs; i++)
if (strncmp(name, cdevs[i], no - name + 1) == 0)
- return (makedev(i, unit));
- return (NODEV);
+ return makedev(i, unit);
+ return NODEV;
}
int
@@ -239,6 +239,7 @@ cnspeed(dev_t dev, int sp)
{
if (major(dev) == 8) /* comN */
return comspeed(dev, sp);
+
/* pc0 and anything else */
return 9600;
}
diff --git a/sys/arch/amd64/stand/libsa/diskprobe.c b/sys/arch/amd64/stand/libsa/diskprobe.c
index 6b0af6f103b..581bcac749c 100644
--- a/sys/arch/amd64/stand/libsa/diskprobe.c
+++ b/sys/arch/amd64/stand/libsa/diskprobe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: diskprobe.c,v 1.11 2012/10/27 15:43:42 jsing Exp $ */
+/* $OpenBSD: diskprobe.c,v 1.12 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1997 Tobias Weingartner
@@ -70,11 +70,11 @@ floppyprobe(void)
int i;
/* Floppies */
- for(i = 0; i < 4; i++) {
+ for (i = 0; i < 4; i++) {
dip = alloc(sizeof(struct diskinfo));
bzero(dip, sizeof(*dip));
- if(bios_getdiskinfo(i, &dip->bios_info)) {
+ if (bios_getdiskinfo(i, &dip->bios_info)) {
#ifdef BIOS_DEBUG
if (debug)
printf(" <!fd%u>", i);
@@ -117,7 +117,7 @@ hardprobe(void)
dip = alloc(sizeof(struct diskinfo));
bzero(dip, sizeof(*dip));
- if(bios_getdiskinfo(i, &dip->bios_info)) {
+ if (bios_getdiskinfo(i, &dip->bios_info)) {
#ifdef BIOS_DEBUG
if (debug)
printf(" <!hd%u>", i&0x7f);
@@ -129,7 +129,7 @@ hardprobe(void)
printf(" hd%u%s", i&0x7f, (dip->bios_info.bios_edd > 0?"+":""));
/* Try to find the label, to figure out device type */
- if((bios_getdisklabel(&dip->bios_info, &dip->disklabel)) ) {
+ if ((bios_getdisklabel(&dip->bios_info, &dip->disklabel)) ) {
printf("*");
bsdunit = ide++;
type = 0; /* XXX let it be IDE */
@@ -158,7 +158,8 @@ hardprobe(void)
dip->bios_info.checksum = 0; /* just in case */
/* Fill out best we can */
- dip->bios_info.bsd_dev = MAKEBOOTDEV(type, 0, 0, bsdunit, RAW_PART);
+ dip->bios_info.bsd_dev =
+ MAKEBOOTDEV(type, 0, 0, bsdunit, RAW_PART);
/* Add to queue of disks */
TAILQ_INSERT_TAIL(&disklist, dip, list);
@@ -198,18 +199,21 @@ diskprobe(void)
bios_cksumlen = i;
/* Get space for passing bios_diskinfo stuff to kernel */
- for(i = 0, dip = TAILQ_FIRST(&disklist); dip; dip = TAILQ_NEXT(dip, list))
+ for (i = 0, dip = TAILQ_FIRST(&disklist); dip;
+ dip = TAILQ_NEXT(dip, list))
i++;
bios_diskinfo = alloc(++i * sizeof(bios_diskinfo_t));
/* Copy out the bios_diskinfo stuff */
- for(i = 0, dip = TAILQ_FIRST(&disklist); dip; dip = TAILQ_NEXT(dip, list))
+ for (i = 0, dip = TAILQ_FIRST(&disklist); dip;
+ dip = TAILQ_NEXT(dip, list))
bios_diskinfo[i++] = dip->bios_info;
bios_diskinfo[i++].bios_number = -1;
/* Register for kernel use */
addbootarg(BOOTARG_CKSUMLEN, sizeof(u_int32_t), &bios_cksumlen);
- addbootarg(BOOTARG_DISKINFO, i * sizeof(bios_diskinfo_t), bios_diskinfo);
+ addbootarg(BOOTARG_DISKINFO, i * sizeof(bios_diskinfo_t),
+ bios_diskinfo);
}
@@ -294,11 +298,11 @@ dklookup(int dev)
{
struct diskinfo *dip;
- for(dip = TAILQ_FIRST(&disklist); dip; dip = TAILQ_NEXT(dip, list))
- if(dip->bios_info.bios_number == dev)
- return(dip);
+ for (dip = TAILQ_FIRST(&disklist); dip; dip = TAILQ_NEXT(dip, list))
+ if (dip->bios_info.bios_number == dev)
+ return dip;
- return(NULL);
+ return NULL;
}
void
@@ -337,10 +341,10 @@ bios_dklookup(int dev)
struct diskinfo *dip;
dip = dklookup(dev);
- if(dip)
- return(&dip->bios_info);
+ if (dip)
+ return &dip->bios_info;
- return(NULL);
+ return NULL;
}
/*
@@ -357,7 +361,7 @@ disksum(int blk)
char *buf;
buf = alloca(DEV_BSIZE);
- for(dip = TAILQ_FIRST(&disklist); dip; dip = TAILQ_NEXT(dip, list)){
+ for (dip = TAILQ_FIRST(&disklist); dip; dip = TAILQ_NEXT(dip, list)) {
bios_diskinfo_t *bdi = &dip->bios_info;
/* Skip this disk if it is not a HD or has had an I/O error */
@@ -372,8 +376,8 @@ disksum(int blk)
}
bdi->checksum = adler32(bdi->checksum, buf, DEV_BSIZE);
- for(dip2 = TAILQ_FIRST(&disklist); dip2 != dip;
- dip2 = TAILQ_NEXT(dip2, list)){
+ for (dip2 = TAILQ_FIRST(&disklist); dip2 != dip;
+ dip2 = TAILQ_NEXT(dip2, list)) {
bios_diskinfo_t *bd = &dip2->bios_info;
if ((bd->bios_number & 0x80) &&
!(bd->flags & BDI_INVALID) &&
@@ -382,5 +386,5 @@ disksum(int blk)
}
}
- return (reprobe);
+ return reprobe;
}
diff --git a/sys/arch/amd64/stand/libsa/exec_i386.c b/sys/arch/amd64/stand/libsa/exec_i386.c
index cdce6ac2cd4..4da5dad8062 100644
--- a/sys/arch/amd64/stand/libsa/exec_i386.c
+++ b/sys/arch/amd64/stand/libsa/exec_i386.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec_i386.c,v 1.11 2012/10/27 15:43:42 jsing Exp $ */
+/* $OpenBSD: exec_i386.c,v 1.12 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1997-1998 Michael Shalayeff
@@ -44,7 +44,7 @@
#endif
typedef void (*startfuncp)(int, int, int, int, int, int, int, int)
- __attribute__ ((noreturn));
+ __attribute__ ((noreturn));
char *bootmac = NULL;
@@ -112,9 +112,11 @@ run_loadfile(u_long *marks, int howto)
entry = marks[MARK_ENTRY] & 0x0fffffff;
printf("entry point at 0x%lx [%x, %x, %x, %x]\n", entry,
- ((int *)entry)[0], ((int *)entry)[1], ((int *)entry)[2], ((int *)entry)[3]);
+ ((int *)entry)[0], ((int *)entry)[1],
+ ((int *)entry)[2], ((int *)entry)[3]);
+
/* stack and the gung is ok at this point, so, no need for asm setup */
- (*(startfuncp)entry)(howto, bootdev, BOOTARG_APIVER,
- marks[MARK_END], extmem, cnvmem, ac, (int)av);
+ (*(startfuncp)entry)(howto, bootdev, BOOTARG_APIVER, marks[MARK_END],
+ extmem, cnvmem, ac, (int)av);
/* not reached */
}
diff --git a/sys/arch/amd64/stand/libsa/libsa.h b/sys/arch/amd64/stand/libsa/libsa.h
index 32cd2fa2fbb..fc65c6f8ccd 100644
--- a/sys/arch/amd64/stand/libsa/libsa.h
+++ b/sys/arch/amd64/stand/libsa/libsa.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: libsa.h,v 1.6 2010/07/02 00:36:52 weingart Exp $ */
+/* $OpenBSD: libsa.h,v 1.7 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1996-1999 Michael Shalayeff
@@ -74,6 +74,6 @@ extern void (*devboot_p)(dev_t, char *);
extern bios_diskinfo_t bios_diskinfo[];
extern u_int32_t bios_cksumlen;
-#define MACHINE_CMD cmd_machine /* we have i386 specific sommands */
+#define MACHINE_CMD cmd_machine /* we have i386-specific commands */
#define CHECK_SKIP_CONF check_skip_conf /* we can skip boot.conf with Ctrl */
diff --git a/sys/arch/amd64/stand/libsa/memprobe.c b/sys/arch/amd64/stand/libsa/memprobe.c
index d87968c8b1a..a890bea4695 100644
--- a/sys/arch/amd64/stand/libsa/memprobe.c
+++ b/sys/arch/amd64/stand/libsa/memprobe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: memprobe.c,v 1.10 2010/12/06 22:51:45 jasper Exp $ */
+/* $OpenBSD: memprobe.c,v 1.11 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -14,8 +14,8 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
@@ -37,7 +37,8 @@
u_int cnvmem, extmem; /* XXX - compatibility */
-/* Check gateA20
+/*
+ * Check gateA20
*
* A sanity check.
*/
@@ -49,18 +50,19 @@ checkA20(void)
int st;
/* Simple check */
- if(*p != *q)
- return(1);
+ if (*p != *q)
+ return 1;
/* Complex check */
*p = ~(*p);
st = (*p != *q);
*p = ~(*p);
- return(st);
+ return st;
}
-/* BIOS int 15, AX=E820
+/*
+ * BIOS int 15, AX=E820
*
* This is the "preferred" method.
*/
@@ -72,30 +74,31 @@ bios_E820(bios_memmap_t *mp)
do {
BIOS_regs.biosr_es = ((u_int)(mp) >> 4);
__asm __volatile(DOINT(0x15) "; setc %b1"
- : "=a" (sig), "=d" (rc), "=b" (off)
- : "0" (0xE820), "1" (0x534d4150), "b" (off),
- "c" (sizeof(*mp)), "D" (((u_int)mp) & 0xF)
- : "cc", "memory");
- off = BIOS_regs.biosr_bx;
+ : "=a" (sig), "=d" (rc), "=b" (off)
+ : "0" (0xE820), "1" (0x534d4150), "b" (off),
+ "c" (sizeof(*mp)), "D" (((u_int)mp) & 0xf)
+ : "cc", "memory");
+ off = BIOS_regs.biosr_bx;
- if (rc & 0xff || sig != 0x534d4150)
- break;
- gotcha++;
- if (!mp->type)
- mp->type = BIOS_MAP_RES;
- mp++;
+ if (rc & 0xff || sig != 0x534d4150)
+ break;
+ gotcha++;
+ if (!mp->type)
+ mp->type = BIOS_MAP_RES;
+ mp++;
} while (off);
if (!gotcha)
- return (NULL);
+ return NULL;
#ifdef DEBUG
printf("0x15[E820] ");
#endif
- return (mp);
+ return mp;
}
#if 0
-/* BIOS int 15, AX=E801
+/*
+ * BIOS int 15, AX=E801
*
* Only used if int 15, AX=E820 does not work.
* This should work for more than 64MB on most
@@ -111,25 +114,27 @@ bios_E801(bios_memmap_t *mp)
/* Test for possibility of 0xE801 */
info = getSYSCONFaddr();
- if(!info) return(NULL);
+ if (!info)
+ return NULL;
/* XXX - Should test model/submodel/rev here */
printf("model(%d,%d,%d)", info[2], info[3], info[4]);
/* Check for 94 or later bios */
info = (void *)0xFFFFB;
- if(info[0] == '9' && info[1] <= '3') return(NULL);
+ if (info[0] == '9' && info[1] <= '3')
+ return NULL;
/* We might have this call */
__asm __volatile(DOINT(0x15) "; mov %%ax, %%si; setc %b0"
- : "=a" (rc), "=S" (m1), "=b" (m2), "=c" (m3), "=d" (m4)
- : "0" (0xE801));
+ : "=a" (rc), "=S" (m1), "=b" (m2), "=c" (m3), "=d" (m4)
+ : "0" (0xE801));
/* Test for failure */
- if(rc & 0xff)
- return (NULL);
+ if (rc & 0xff)
+ return NULL;
/* Fixup for screwed up machines */
- if(m1 == 0){
+ if (m1 == 0) {
m1 = m3;
m2 = m4;
}
@@ -150,7 +155,8 @@ bios_E801(bios_memmap_t *mp)
}
#endif
-/* BIOS int 15, AX=8800
+/*
+ * BIOS int 15, AX=8800
*
* Only used if int 15, AX=E801 does not work.
* Machines with this are restricted to 64MB.
@@ -161,10 +167,10 @@ bios_8800(bios_memmap_t *mp)
int rc, mem;
__asm __volatile(DOINT(0x15) "; setc %b0"
- : "=c" (rc), "=a" (mem) : "a" (0x8800));
+ : "=c" (rc), "=a" (mem) : "a" (0x8800));
- if(rc & 0xff)
- return (NULL);
+ if (rc & 0xff)
+ return NULL;
#ifdef DEBUG
printf("0x15[8800] ");
#endif
@@ -176,7 +182,8 @@ bios_8800(bios_memmap_t *mp)
return ++mp;
}
-/* BIOS int 0x12 Get Conventional Memory
+/*
+ * BIOS int 0x12 Get Conventional Memory
*
* Only used if int 15, AX=E820 does not work.
*/
@@ -198,7 +205,8 @@ bios_int12(bios_memmap_t *mp)
}
-/* addrprobe(kloc): Probe memory at address kloc * 1024.
+/*
+ * addrprobe(kloc): Probe memory at address kloc * 1024.
*
* This is a hack, but it seems to work ok. Maybe this is
* the *real* way that you are supposed to do probing???
@@ -228,23 +236,23 @@ addrprobe(u_int kloc)
save[0] = *loc;
/* Probe address */
- for(i = 0; i < nitems(addrprobe_pat); i++){
+ for (i = 0; i < nitems(addrprobe_pat); i++) {
*loc = addrprobe_pat[i];
- if(*loc != addrprobe_pat[i])
+ if (*loc != addrprobe_pat[i])
ret++;
}
*loc = save[0];
if (!ret) {
/* Write address */
- for(i = 0; i < nitems(addrprobe_pat); i++) {
+ for (i = 0; i < nitems(addrprobe_pat); i++) {
save[i] = loc[i];
loc[i] = addrprobe_pat[i];
}
/* Read address */
- for(i = 0; i < nitems(addrprobe_pat); i++) {
- if(loc[i] != addrprobe_pat[i])
+ for (i = 0; i < nitems(addrprobe_pat); i++) {
+ if (loc[i] != addrprobe_pat[i])
ret++;
loc[i] = save[i];
}
@@ -253,7 +261,8 @@ addrprobe(u_int kloc)
return ret;
}
-/* Probe for all extended memory.
+/*
+ * Probe for all extended memory.
*
* This is only used as a last resort. If we resort to this
* routine, we are getting pretty desperate. Hopefully nobody
@@ -269,13 +278,14 @@ badprobe(bios_memmap_t *mp)
#ifdef DEBUG
printf("scan ");
#endif
- /* probe extended memory
+ /*
+ * probe extended memory
*
* There is no need to do this in assembly language. This is
* much easier to debug in C anyways.
*/
- for(ram = 1024; ram < 512 * 1024; ram += 4)
- if(addrprobe(ram))
+ for (ram = 1024; ram < 512 * 1024; ram += 4)
+ if (addrprobe(ram))
break;
mp->addr = 1024 * 1024;
@@ -298,17 +308,17 @@ memprobe(void)
printf(" mem[");
#endif
- if(!(pm = bios_E820(bios_memmap))) {
+ if ((pm = bios_E820(bios_memmap)) == NULL) {
im = bios_int12(bios_memmap);
#if 0
pm = bios_E801(im);
- if (!pm)
+ if (pm == NULL)
#endif
pm = bios_8800(im);
- if (!pm)
+ if (pm == NULL)
pm = badprobe(im);
- if (!pm) {
- printf (" No Extended memory detected.");
+ if (pm == NULL) {
+ printf(" No Extended memory detected.");
pm = im;
}
}
@@ -322,9 +332,9 @@ memprobe(void)
/* XXX - Compatibility, remove later (smpprobe() relies on it) */
extmem = cnvmem = 0;
- for(im = bios_memmap; im->type != BIOS_MAP_END; im++) {
+ for (im = bios_memmap; im->type != BIOS_MAP_END; im++) {
/* Count only "good" memory chunks 12K and up in size */
- if ((im->type == BIOS_MAP_FREE) && (im->size >= 12*1024)) {
+ if ((im->type == BIOS_MAP_FREE) && (im->size >= 12 * 1024)) {
if (im->size > 1024 * 1024)
printf("%uM ", (u_int)(im->size /
(1024 * 1024)));
@@ -341,17 +351,17 @@ memprobe(void)
* We ignore "good" memory in the 640K-1M hole.
* We drop "machine {cnvmem,extmem}" commands.
*/
- if(im->addr < IOM_BEGIN)
+ if (im->addr < IOM_BEGIN)
cnvmem = max(cnvmem,
im->addr + im->size) / 1024;
- if(im->addr >= IOM_END
- && (im->addr/1024) == (extmem + 1024)) {
+ if (im->addr >= IOM_END &&
+ (im->addr / 1024) == (extmem + 1024))
extmem += im->size / 1024;
- }
}
}
- /* Adjust extmem to be no more than 4G (which it usually is not
+ /*
+ * Adjust extmem to be no more than 4G (which it usually is not
* anyways). In order for an x86 type machine (amd64/etc) to use
* more than 4GB of memory, it will need to grok and use the bios
* memory map we pass it. Note that above we only count CONTIGUOUS
@@ -359,8 +369,8 @@ memprobe(void)
*
* extmem is in KB, and we have 4GB - 1MB (base/io hole) worth of it.
*/
- if(extmem > 4*1024*1024 - 1024)
- extmem = 4*1024*1024 - 1024;
+ if (extmem > 4 * 1024 * 1024 - 1024)
+ extmem = 4 * 1024 * 1024 - 1024;
/* Check if gate A20 is on */
printf("a20=o%s] ", checkA20()? "n" : "ff!");
@@ -373,15 +383,15 @@ dump_biosmem(bios_memmap_t *tm)
register bios_memmap_t *p;
register u_int total = 0;
- if (!tm)
+ if (tm == NULL)
tm = bios_memmap;
- for(p = tm; p->type != BIOS_MAP_END; p++) {
- printf("Region %ld: type %u at 0x%llx for %uKB\n",
+ for (p = tm; p->type != BIOS_MAP_END; p++) {
+ printf("Region %ld: type %u at 0x%llx for %uKB\n",
(long)(p - tm), p->type, p->addr,
(u_int)(p->size / 1024));
- if(p->type == BIOS_MAP_FREE)
+ if (p->type == BIOS_MAP_FREE)
total += p->size / 1024;
}
@@ -422,8 +432,8 @@ mem_delete(long long sa, long long ea)
/* can we eat it as a whole? */
if ((sa - sp) <= NBPG && (ep - ea) <= NBPG) {
- bcopy (p + 1, p, (char *)bios_memmap +
- sizeof(bios_memmap) - (char *)p);
+ bcopy(p + 1, p, (char *)bios_memmap +
+ sizeof(bios_memmap) - (char *)p);
break;
/* eat head or legs */
} else if (sa <= sp && sp < ea) {
@@ -435,9 +445,9 @@ mem_delete(long long sa, long long ea)
break;
} else if (sp < sa && ea < ep) {
/* bite in half */
- bcopy (p, p + 1, (char *)bios_memmap +
- sizeof(bios_memmap) - (char *)p -
- sizeof(bios_memmap[0]));
+ bcopy(p, p + 1, (char *)bios_memmap +
+ sizeof(bios_memmap) - (char *)p -
+ sizeof(bios_memmap[0]));
p[1].addr = ea;
p[1].size = ep - ea;
p->size = sa - sp;
@@ -470,8 +480,8 @@ mem_add(long long sa, long long ea)
break;
} else if (ea < sp) {
/* insert before */
- bcopy (p, p + 1, (char *)bios_memmap +
- sizeof(bios_memmap) - (char *)(p - 1));
+ bcopy(p, p + 1, (char *)bios_memmap +
+ sizeof(bios_memmap) - (char *)(p - 1));
p->addr = sa;
p->size = ea - sa;
break;
diff --git a/sys/arch/amd64/stand/libsa/time.c b/sys/arch/amd64/stand/libsa/time.c
index 04917cff10a..42c00737565 100644
--- a/sys/arch/amd64/stand/libsa/time.c
+++ b/sys/arch/amd64/stand/libsa/time.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: time.c,v 1.2 2004/08/18 19:13:07 tom Exp $ */
+/* $OpenBSD: time.c,v 1.3 2012/10/30 14:06:29 jsing Exp $ */
/*
* Copyright (c) 1997 Michael Shalayeff
@@ -42,7 +42,6 @@
static __inline u_int8_t
bcdtoint(u_int8_t c)
{
-
return ((c & 0xf0) / 8) * 5 + (c & 0x0f);
}
@@ -50,8 +49,7 @@ bcdtoint(u_int8_t c)
* Quick compute of time in seconds since the Epoch
*/
const u_short monthcount[] = {
- 0, 0, 31, 59, 90, 120, 151, 181,
- 212, 243, 273, 304, 334, 365
+ 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365
};
static __inline time_t
@@ -65,8 +63,8 @@ compute(int year, u_int8_t month, u_int8_t day, u_int8_t hour,
tt = (year - 1970) * 365 + monthcount[month] + day - 1;
/* Compute for leap year */
- for(month <= 2? year--:0;year >= 1970;year--)
- if(isleap(year))
+ for (month <= 2 ? year-- : 0; year >= 1970; year--)
+ if (isleap(year))
tt++;
/* Plus the time */
@@ -79,13 +77,14 @@ static int
bios_time_date(int f, u_int8_t *b)
{
__asm __volatile(DOINT(0x1a) "\n\t"
- "setc %b0\n\t"
- "movb %%ch, 0(%2)\n\t"
- "movb %%cl, 1(%2)\n\t"
- "movb %%dh, 2(%2)\n\t"
- "movb %%dl, 3(%2)\n\t"
- : "=a" (f)
- : "0" (f), "p" (b) : "%ecx", "%edx", "cc");
+ "setc %b0\n\t"
+ "movb %%ch, 0(%2)\n\t"
+ "movb %%cl, 1(%2)\n\t"
+ "movb %%dh, 2(%2)\n\t"
+ "movb %%dl, 3(%2)\n\t"
+ : "=a" (f)
+ : "0" (f), "p" (b) : "%ecx", "%edx", "cc");
+
if (f & 0xff)
return -1;
else {
@@ -118,20 +117,19 @@ getsecs(void)
u_int8_t timebuf[4], datebuf[4];
/* Query BIOS for time & date */
- if(!biostime(timebuf) && !biosdate(datebuf)) {
+ if (!biostime(timebuf) && !biosdate(datebuf)) {
#ifdef notdef
int dst;
dst = timebuf[3];
#endif
/* Convert to seconds since Epoch */
- return compute(datebuf[0] * 100 + datebuf[1],
- datebuf[2], datebuf[3],
- timebuf[0], timebuf[1], timebuf[2]);
+ return compute(datebuf[0] * 100 + datebuf[1], datebuf[2],
+ datebuf[3], timebuf[0], timebuf[1], timebuf[2]);
} else
errno = EIO;
- return(1);
+ return 1;
}
u_int
@@ -139,9 +137,12 @@ sleep(u_int i)
{
register time_t t;
- /* loop for that number of seconds, polling BIOS,
- so that it may handle interrupts */
- for (t = getsecs() + i; getsecs() < t; cnischar());
+ /*
+ * Loop for the requested number of seconds, polling BIOS,
+ * so that it may handle interrupts.
+ */
+ for (t = getsecs() + i; getsecs() < t; cnischar())
+ ;
return 0;
}