Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/x86/x86 style



details:   https://anonhg.NetBSD.org/src/rev/f1bfb697455e
branches:  trunk
changeset: 355791:f1bfb697455e
user:      maxv <maxv%NetBSD.org@localhost>
date:      Tue Aug 15 06:37:50 2017 +0000

description:
style

diffstat:

 sys/arch/x86/x86/bios32.c |  137 ++++++++++++++++++++++-----------------------
 1 files changed, 68 insertions(+), 69 deletions(-)

diffs (183 lines):

diff -r e6dd19d1f993 -r f1bfb697455e sys/arch/x86/x86/bios32.c
--- a/sys/arch/x86/x86/bios32.c Tue Aug 15 06:27:39 2017 +0000
+++ b/sys/arch/x86/x86/bios32.c Tue Aug 15 06:37:50 2017 +0000
@@ -1,6 +1,6 @@
-/*     $NetBSD: bios32.c,v 1.1 2017/08/15 06:27:40 maxv Exp $  */
+/*     $NetBSD: bios32.c,v 1.2 2017/08/15 06:37:50 maxv Exp $  */
 
-/*-
+/*
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
@@ -41,18 +41,18 @@
  *    notice, this list of conditions and the following disclaimer.
  * 2. The name of the developer may NOT be used to endorse or promote products
  *    derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS BE LIABLE 
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
- * SUCH DAMAGE. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  */
 
 /*
@@ -86,11 +86,11 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bios32.c,v 1.1 2017/08/15 06:27:40 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bios32.c,v 1.2 2017/08/15 06:37:50 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
-#include <sys/device.h> 
+#include <sys/device.h>
 
 #include <dev/isa/isareg.h>
 #include <machine/isa_machdep.h>
@@ -192,6 +192,55 @@
        }
 }
 
+/*
+ * Call BIOS32 to locate the specified BIOS32 service, and fill
+ * in the entry point information.
+ */
+int
+bios32_service(uint32_t service, bios32_entry_t e, bios32_entry_info_t ei)
+{
+#ifdef i386
+       uint32_t eax, ebx, ecx, edx;
+       paddr_t entry;
+
+       if (bios32_entry.offset == 0)
+               return 0;       /* BIOS32 not present */
+
+       __asm volatile("lcall *(%%edi)"
+               : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+               : "0" (service), "1" (0), "D" (&bios32_entry));
+
+       if ((eax & 0xff) != 0)
+               return 0;       /* service not found */
+
+       entry = ebx + edx;
+
+       if (entry < BIOS32_START || entry >= BIOS32_END) {
+               aprint_error("BIOS32: entry point for service %c%c%c%c is "
+                   "outside allowable range\n",
+                   service & 0xff,
+                   (service >> 8) & 0xff,
+                   (service >> 16) & 0xff,
+                   (service >> 24) & 0xff);
+               return 0;
+       }
+
+       e->offset = (void *)ISA_HOLE_VADDR(entry);
+       e->segment = GSEL(GCODE_SEL, SEL_KPL);
+
+       ei->bei_base = ebx;
+       ei->bei_size = ecx;
+       ei->bei_entry = entry;
+#else
+       (void)service;
+       (void)e;
+       (void)ei;
+       panic("bios32_service not implemented on amd64");
+#endif
+
+       return 1;
+}
+
 static int
 smbios2_check_header(const uint8_t *p)
 {
@@ -248,8 +297,7 @@
        pmap_update(pmap_kernel());
 
        aprint_debug("SMBIOS rev. %d.%d @ 0x%lx (%d entries)\n",
-                   sh->majrev, sh->minrev, (u_long)sh->addr,
-                   sh->count);
+           sh->majrev, sh->minrev, (u_long)sh->addr, sh->count);
 }
 
 static int
@@ -302,57 +350,8 @@
 #endif
        pmap_update(pmap_kernel());
 
-       aprint_debug("SMBIOS rev. %d.%d.%d @ 0x%lx\n",
-                   sh->majrev, sh->minrev, sh->docrev, (u_long)sh->addr);
-}
-
-/*
- * Call BIOS32 to locate the specified BIOS32 service, and fill
- * in the entry point information.
- */
-int
-bios32_service(uint32_t service, bios32_entry_t e, bios32_entry_info_t ei)
-{
-#ifdef i386
-       uint32_t eax, ebx, ecx, edx;
-       paddr_t entry;
-
-       if (bios32_entry.offset == 0)
-               return (0);     /* BIOS32 not present */
-
-       __asm volatile("lcall *(%%edi)"
-               : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-               : "0" (service), "1" (0), "D" (&bios32_entry));
-
-       if ((eax & 0xff) != 0)
-               return (0);     /* service not found */
-
-       entry = ebx + edx;
-
-       if (entry < BIOS32_START || entry >= BIOS32_END) {
-               aprint_error("BIOS32: entry point for service %c%c%c%c is "
-                   "outside allowable range\n",
-                   service & 0xff,
-                   (service >> 8) & 0xff,
-                   (service >> 16) & 0xff,
-                   (service >> 24) & 0xff);
-               return (0);
-       }
-
-       e->offset = (void *)ISA_HOLE_VADDR(entry);
-       e->segment = GSEL(GCODE_SEL, SEL_KPL);
-
-       ei->bei_base = ebx;
-       ei->bei_size = ecx;
-       ei->bei_entry = entry;
-#else
-       (void)service;
-       (void)e;
-       (void)ei;
-       panic("bios32_service not implemented on amd64");
-#endif
-
-       return (1);
+       aprint_debug("SMBIOS rev. %d.%d.%d @ 0x%lx\n", sh->majrev,
+           sh->minrev, sh->docrev, (u_long)sh->addr);
 }
 
 /*



Home | Main Index | Thread Index | Old Index