1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-07 11:42:13 +02:00

x86: Code cleanup

Make the copyright notices in the x86 files consistent and update them with
proper attributions for recent updates

Also fix a few comment style/accuracy and whitespace/blank line issues

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
This commit is contained in:
Graeme Russ
2011-04-13 19:43:26 +10:00
parent e413554f9d
commit dbf7115a32
28 changed files with 174 additions and 183 deletions

View File

@@ -1,6 +1,9 @@
/* /*
* (C) Copyright 2008-2011
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* (C) Copyright 2002 * (C) Copyright 2002
* Sysgo Real-Time Solutions, GmbH <www.elinos.com> * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
@@ -29,18 +32,16 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
/*
* CPU specific code
*/
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/processor-flags.h> #include <asm/processor-flags.h>
#include <asm/interrupt.h> #include <asm/interrupt.h>
/* Constructor for a conventional segment GDT (or LDT) entry */ /*
/* This is a macro so it can be used in initializers */ * Constructor for a conventional segment GDT (or LDT) entry
* This is a macro so it can be used in initialisers
*/
#define GDT_ENTRY(flags, base, limit) \ #define GDT_ENTRY(flags, base, limit) \
((((base) & 0xff000000ULL) << (56-24)) | \ ((((base) & 0xff000000ULL) << (56-24)) | \
(((flags) & 0x0000f0ffULL) << 40) | \ (((flags) & 0x0000f0ffULL) << 40) | \
@@ -48,10 +49,6 @@
(((base) & 0x00ffffffULL) << 16) | \ (((base) & 0x00ffffffULL) << 16) | \
(((limit) & 0x0000ffffULL))) (((limit) & 0x0000ffffULL)))
/*
* Set up the GDT
*/
struct gdt_ptr { struct gdt_ptr {
u16 len; u16 len;
u32 ptr; u32 ptr;
@@ -59,8 +56,10 @@ struct gdt_ptr {
static void reload_gdt(void) static void reload_gdt(void)
{ {
/* There are machines which are known to not boot with the GDT /*
being 8-byte unaligned. Intel recommends 16 byte alignment. */ * There are machines which are known to not boot with the GDT
* being 8-byte unaligned. Intel recommends 16 byte alignment
*/
static const u64 boot_gdt[] __attribute__((aligned(16))) = { static const u64 boot_gdt[] __attribute__((aligned(16))) = {
/* CS: code, read/execute, 4 GB, base 0 */ /* CS: code, read/execute, 4 GB, base 0 */
[GDT_ENTRY_32BIT_CS] = GDT_ENTRY(0xc09b, 0, 0xfffff), [GDT_ENTRY_32BIT_CS] = GDT_ENTRY(0xc09b, 0, 0xfffff),
@@ -86,7 +85,6 @@ static void reload_gdt(void)
: : "m" (gdt) : "ecx"); : : "m" (gdt) : "ecx");
} }
int x86_cpu_init_f(void) int x86_cpu_init_f(void)
{ {
const u32 em_rst = ~X86_CR0_EM; const u32 em_rst = ~X86_CR0_EM;
@@ -125,7 +123,9 @@ int cpu_init_r(void) __attribute__((weak, alias("x86_cpu_init_r")));
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{ {
printf ("resetting ...\n"); printf ("resetting ...\n");
udelay(50000); /* wait 50 ms */
/* wait 50 ms */
udelay(50000);
disable_interrupts(); disable_interrupts();
reset_cpu(0); reset_cpu(0);
@@ -136,7 +136,6 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
void flush_cache (unsigned long dummy1, unsigned long dummy2) void flush_cache (unsigned long dummy1, unsigned long dummy2)
{ {
asm("wbinvd\n"); asm("wbinvd\n");
return;
} }
void __attribute__ ((regparm(0))) generate_gpf(void); void __attribute__ ((regparm(0))) generate_gpf(void);

View File

@@ -1,9 +1,9 @@
/* /*
* (C) Copyright 2008 * (C) Copyright 2008-2011
* Graeme Russ, graeme.russ@gmail.com. * Graeme Russ, <graeme.russ@gmail.com>
* *
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* Portions of this file are derived from the Linux kernel source * Portions of this file are derived from the Linux kernel source
* Copyright (C) 1991, 1992 Linus Torvalds * Copyright (C) 1991, 1992 Linus Torvalds
@@ -45,7 +45,7 @@
* read/write functions for the control registers and messing everything up. * read/write functions for the control registers and messing everything up.
* A memory clobber would solve the problem, but would prevent reordering of * A memory clobber would solve the problem, but would prevent reordering of
* all loads stores around it, which can hurt performance. Solution is to * all loads stores around it, which can hurt performance. Solution is to
* use a variable and mimic reads and writes to it to enforce serialization * use a variable and mimic reads and writes to it to enforce serialisation
*/ */
static unsigned long __force_order; static unsigned long __force_order;

View File

@@ -1,7 +1,8 @@
/* /*
* U-boot - i386 Startup Code * U-boot - i386 Startup Code
* *
* Copyright (c) 2002 Omicron Ceti AB, Daniel Engstr<EFBFBD>m <denaiel@omicron.se> * (C) Copyright 2002
* Daniel Engstr<EFBFBD>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.

View File

@@ -1,6 +1,9 @@
/* /*
* (C) Copyright 2008-2011
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB <daniel@omicron.se>. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -21,9 +24,6 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
/* stuff specific for the sc520,
* but idependent of implementation */
#include <common.h> #include <common.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/processor-flags.h> #include <asm/processor-flags.h>

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2010 * (C) Copyright 2010-2011
* Graeme Russ <graeme.russ@gmail.com>. * Graeme Russ, <graeme.russ@gmail.com>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -21,7 +21,6 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
#include <config.h> #include <config.h>
#include <asm/processor-flags.h> #include <asm/processor-flags.h>
#include <asm/ic/sc520.h> #include <asm/ic/sc520.h>

View File

@@ -1,6 +1,9 @@
/* /*
* (C) Copyright 2008-2011
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB <daniel@omicron.se>. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -21,8 +24,6 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
/* stuff specific for the sc520, but independent of implementation */
#include <common.h> #include <common.h>
#include <pci.h> #include <pci.h>
#include <asm/io.h> #include <asm/io.h>
@@ -54,7 +55,6 @@ static struct {
{ SC520_IRQ15, 1, 0x80 } { SC520_IRQ15, 1, 0x80 }
}; };
/* The interrupt used for PCI INTA-INTD */ /* The interrupt used for PCI INTA-INTD */
int sc520_pci_ints[15] = { int sc520_pci_ints[15] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -68,9 +68,8 @@ int pci_sc520_set_irq(int pci_pin, int irq)
u8 tmpb; u8 tmpb;
u16 tmpw; u16 tmpw;
# if 1 debug("set_irq(): map INT%c to IRQ%d\n", pci_pin + 'A', irq);
printf("set_irq(): map INT%c to IRQ%d\n", pci_pin + 'A', irq);
#endif
if (irq < 0 || irq > 15) { if (irq < 0 || irq > 15) {
return -1; /* illegal irq */ return -1; /* illegal irq */
} }
@@ -138,5 +137,4 @@ void pci_sc520_init(struct pci_controller *hose)
/* enable target memory acceses on host brige */ /* enable target memory acceses on host brige */
pci_write_config_word(0, PCI_COMMAND, pci_write_config_word(0, PCI_COMMAND,
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
} }

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2010 * (C) Copyright 2010,2011
* Graeme Russ <graeme.russ@gmail.com>. * Graeme Russ, <graeme.russ@gmail.com>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB <daniel@omicron.se>. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -21,8 +21,6 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
/* stuff specific for the sc520, but independent of implementation */
#include <common.h> #include <common.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/ic/ssi.h> #include <asm/ic/ssi.h>
@@ -77,7 +75,6 @@ u8 ssi_txrx_byte(u8 data)
return readb(&sc520_mmcr->ssircv); return readb(&sc520_mmcr->ssircv);
} }
void ssi_tx_byte(u8 data) void ssi_tx_byte(u8 data)
{ {
writeb(data, &sc520_mmcr->ssixmit); writeb(data, &sc520_mmcr->ssixmit);

View File

@@ -1,6 +1,9 @@
/* /*
* (C) Copyright 2008-2011
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB <daniel@omicron.se>. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -21,8 +24,6 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
/* stuff specific for the sc520, but independent of implementation */
#include <common.h> #include <common.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/interrupt.h> #include <asm/interrupt.h>

View File

@@ -1,7 +1,11 @@
/* /*
* U-boot - i386 Startup Code * U-boot - i386 Startup Code
* *
* Copyright (c) 2002 Omicron Ceti AB, Daniel Engstr<EFBFBD>m <denaiel@omicron.se> * (C) Copyright 2008-2011
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002
* Daniel Engstr<EFBFBD>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -22,13 +26,11 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
#include <config.h> #include <config.h>
#include <version.h> #include <version.h>
#include <asm/global_data.h> #include <asm/global_data.h>
#include <asm/processor-flags.h> #include <asm/processor-flags.h>
.section .text .section .text
.code32 .code32
.globl _start .globl _start
@@ -56,8 +58,8 @@ _i386boot_start:
_start: _start:
/* This is the 32-bit cold-reset entry point */ /* This is the 32-bit cold-reset entry point */
movl $0x18, %eax /* Load our segement registes, the /* Load the segement registes to match the gdt loaded in start16.S */
* gdt have already been loaded by start16.S */ movl $0x18, %eax
movw %ax, %fs movw %ax, %fs
movw %ax, %ds movw %ax, %ds
movw %ax, %gs movw %ax, %gs
@@ -82,21 +84,13 @@ car_init_ret:
* starting at CONFIG_SYS_CAR_ADDR to be used as a temporary stack * starting at CONFIG_SYS_CAR_ADDR to be used as a temporary stack
*/ */
movl $CONFIG_SYS_INIT_SP_ADDR, %esp movl $CONFIG_SYS_INIT_SP_ADDR, %esp
movl $CONFIG_SYS_INIT_GD_ADDR, %ebp
/* Set Boot Flags in Global Data */
movl %ebx, (GD_FLAGS * 4)(%ebp)
/* Determine our load offset (and put in Global Data) */
call 1f
1: popl %ecx
subl $1b, %ecx
movl %ecx, (GD_LOAD_OFF * 4)(%ebp)
/* Set parameter to board_init_f() to boot flags */ /* Set parameter to board_init_f() to boot flags */
movl (GD_FLAGS * 4)(%ebp), %eax xorl %eax, %eax
movw %bx, %ax
call board_init_f /* Enter, U-boot! */ /* Enter, U-boot! */
call board_init_f
/* indicate (lack of) progress */ /* indicate (lack of) progress */
movw $0x85, %ax movw $0x85, %ax

View File

@@ -1,7 +1,11 @@
/* /*
* U-boot - i386 Startup Code * U-boot - i386 Startup Code
* *
* Copyright (c) 2002, 2003 Omicron Ceti AB, Daniel Engstr<EFBFBD>m <denaiel@omicron.se> * (C) Copyright 2008-2011
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002,2003
* Daniel Engstr<EFBFBD>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<EFBFBD>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<EFBFBD>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -42,7 +42,6 @@
* a general purpose replacement for a real BIOS !! * a general purpose replacement for a real BIOS !!
*/ */
.section .bios, "ax" .section .bios, "ax"
.code16 .code16
.org 0 .org 0

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -67,28 +67,26 @@
/* setup BIOS stackpointer */ /* setup BIOS stackpointer */
#define MAKE_BIOS_STACK \ #define MAKE_BIOS_STACK \
pushal ; \ pushal; \
pushw %ds ; \ pushw %ds; \
pushw %gs ; \ pushw %gs; \
pushw %es ; \ pushw %es; \
pushw %ss ; \ pushw %ss; \
popw %gs ; \ popw %gs; \
movw $SEGMENT,%ax ; \ movw $SEGMENT, %ax; \
movw %ax,%ds ; \ movw %ax, %ds; \
movw %ax,%es ; \ movw %ax, %es; \
movw %ax,%ss ; \ movw %ax, %ss; \
movw %sp,%bp ; \ movw %sp, %bp; \
movw $STACK,%sp movw $STACK, %sp
#define RESTORE_CALLERS_STACK \ #define RESTORE_CALLERS_STACK \
pushw %gs ; /* restore callers stack segment */ \ pushw %gs; /* restore callers stack segment */ \
popw %ss ; \ popw %ss; \
movw %bp,%sp ; /* restore stackpointer */ \ movw %bp, %sp; /* restore stackpointer */ \
\ popw %es; /* restore segment selectors */ \
popw %es ; /* restore segment selectors */ \ popw %gs; \
popw %gs ; \ popw %ds; \
popw %ds ; \
\
popal /* restore GP registers */ popal /* restore GP registers */
#endif #endif

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -21,7 +21,6 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
/* /*
* Partly based on msbios.c from rolo 1.6: * Partly based on msbios.c from rolo 1.6:
*---------------------------------------------------------------------- *----------------------------------------------------------------------

View File

@@ -1,9 +1,12 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2008-2011
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Graeme Russ, <graeme.russ@gmail.com>
* *
* (C) Copyright 2002 * (C) Copyright 2002
* Wolfgang Denk, DENX Software Engineering, wd@denx.de. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
*
* (C) Copyright 2002
* Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
* *
* (C) Copyright 2002 * (C) Copyright 2002
* Sysgo Real-Time Solutions, GmbH <www.elinos.com> * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
@@ -103,13 +106,6 @@ static int display_banner (void)
return (0); return (0);
} }
/*
* WARNING: this code looks "cleaner" than the PowerPC version, but
* has the disadvantage that you either get nothing, or everything.
* On PowerPC, you might see "DRAM: " before the system hangs - which
* gives a simple yet clear indication which part of the
* initialization if failing.
*/
static int display_dram_config (void) static int display_dram_config (void)
{ {
int i; int i;
@@ -141,7 +137,6 @@ static void display_flash_config (ulong size)
* can relocate the monitor code to RAM. * can relocate the monitor code to RAM.
*/ */
/* /*
* All attempts to come up with a "common" initialization sequence * All attempts to come up with a "common" initialization sequence
* that works for all boards and architectures failed: some of the * that works for all boards and architectures failed: some of the
@@ -251,13 +246,13 @@ static int do_elf_reloc_fixups(void)
return 0; return 0;
} }
/* /* Load U-Boot into RAM, initialize BSS, perform relocation adjustments */
* Load U-Boot into RAM, initialize BSS, perform relocation adjustments
*/
void board_init_f(ulong boot_flags) void board_init_f(ulong boot_flags)
{ {
init_fnc_t **init_fnc_ptr; init_fnc_t **init_fnc_ptr;
gd->flags = boot_flags;
for (init_fnc_ptr = init_sequence_f; *init_fnc_ptr; ++init_fnc_ptr) { for (init_fnc_ptr = init_sequence_f; *init_fnc_ptr; ++init_fnc_ptr) {
if ((*init_fnc_ptr)() != 0) if ((*init_fnc_ptr)() != 0)
hang(); hang();

View File

@@ -5,10 +5,13 @@
* *
* Copyright (C) 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) * Copyright (C) 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl)
* *
* This program is free software; you can redistribute it and/or modify * See file CREDITS for list of people who contributed to this
* it under the terms of the GNU General Public License as published by * project.
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +20,8 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* * MA 02111-1307 USA
*/ */
#include <common.h> #include <common.h>

View File

@@ -1,21 +1,21 @@
/* /*
* (C) Copyright 2009 * (C) Copyright 2009
* Graeme Russ, graeme.russ@gmail.com * Graeme Russ, <graeme.russ@gmail.com>
* *
* (C) Copyright 2007 * (C) Copyright 2007
* Daniel Hellstrom, Gaisler Research, daniel@gaisler.com * Daniel Hellstrom, Gaisler Research, <daniel@gaisler.com>
* *
* (C) Copyright 2006 * (C) Copyright 2006
* Detlev Zundel, DENX Software Engineering, dzu@denx.de * Detlev Zundel, DENX Software Engineering, <dzu@denx.de>
* *
* (C) Copyright -2003 * (C) Copyright -2003
* Wolfgang Denk, DENX Software Engineering, wd@denx.de. * Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
* *
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* (C) Copyright 2001 * (C) Copyright 2001
* Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc. * Josh Huber, Mission Critical Linux, Inc, <huber@mclx.com>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -38,11 +38,11 @@
/* /*
* This file contains the high-level API for the interrupt sub-system * This file contains the high-level API for the interrupt sub-system
* of the i386 port of U-Boot. Most of the functionality has been * of the x86 port of U-Boot. Most of the functionality has been
* shamelessly stolen from the leon2 / leon3 ports of U-Boot. * shamelessly stolen from the leon2 / leon3 ports of U-Boot.
* Daniel Hellstrom, Detlev Zundel, Wolfgang Denk and Josh Huber are * Daniel Hellstrom, Detlev Zundel, Wolfgang Denk and Josh Huber are
* credited for the corresponding work on those ports. The original * credited for the corresponding work on those ports. The original
* interrupt handling routines for the i386 port were written by * interrupt handling routines for the x86 port were written by
* Daniel Engstr<74>m * Daniel Engstr<74>m
*/ */

View File

@@ -1,9 +1,9 @@
/* /*
* (C) Copyright 2009 * (C) Copyright 2009
* Graeme Russ, graeme.russ@gmail.com * Graeme Russ, <graeme.russ@gmail.com>
* *
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -54,10 +54,9 @@ int pci_shadow_rom(pci_dev_t dev, unsigned char *dest)
class_code &= 0xffffff00; class_code &= 0xffffff00;
class_code >>= 8; class_code >>= 8;
#if 0 debug("PCI Header Vendor %04x device %04x class %06x\n",
printf("PCI Header Vendor %04x device %04x class %06x\n",
vendor, device, class_code); vendor, device, class_code);
#endif
/* Enable the rom addess decoder */ /* Enable the rom addess decoder */
pci_write_config_dword(dev, PCI_ROM_ADDRESS, (u32)PCI_ROM_ADDRESS_MASK); pci_write_config_dword(dev, PCI_ROM_ADDRESS, (u32)PCI_ROM_ADDRESS_MASK);
pci_read_config_dword(dev, PCI_ROM_ADDRESS, &addr_reg); pci_read_config_dword(dev, PCI_ROM_ADDRESS, &addr_reg);
@@ -70,13 +69,12 @@ int pci_shadow_rom(pci_dev_t dev, unsigned char *dest)
size = (~(addr_reg&PCI_ROM_ADDRESS_MASK))+1; size = (~(addr_reg&PCI_ROM_ADDRESS_MASK))+1;
#if 0 debug("ROM is %d bytes\n", size);
printf("ROM is %d bytes\n", size);
#endif
rom_addr = pci_get_rom_window(hose, size); rom_addr = pci_get_rom_window(hose, size);
#if 0
printf("ROM mapped at %x \n", rom_addr); debug("ROM mapped at %x\n", rom_addr);
#endif
pci_write_config_dword(dev, PCI_ROM_ADDRESS, pci_write_config_dword(dev, PCI_ROM_ADDRESS,
pci_phys_to_mem(dev, rom_addr) pci_phys_to_mem(dev, rom_addr)
|PCI_ROM_ADDRESS_ENABLE); |PCI_ROM_ADDRESS_ENABLE);

View File

@@ -1,15 +1,30 @@
/*
* (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
/* /*
* Support for type PCI configuration cycles. * Support for type PCI configuration cycles.
* based on pci_indirect.c * based on pci_indirect.c
*
* Copyright (C) 2002 Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/ */
#include <common.h> #include <common.h>
#include <asm/io.h> #include <asm/io.h>
#include <pci.h> #include <pci.h>

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -26,10 +26,8 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/realmode.h> #include <asm/realmode.h>
#define REALMODE_MAILBOX ((char*)0xe00) #define REALMODE_MAILBOX ((char*)0xe00)
extern ulong __realmode_start; extern ulong __realmode_start;
extern ulong __realmode_size; extern ulong __realmode_size;
extern char realmode_enter; extern char realmode_enter;
@@ -57,13 +55,11 @@ int enter_realmode(u16 seg, u16 off, struct pt_regs *in, struct pt_regs *out)
{ {
/* setup out thin bios emulation */ /* setup out thin bios emulation */
if (bios_setup()) { if (bios_setup())
return -1; return -1;
}
if (realmode_setup()) { if (realmode_setup())
return -1; return -1;
}
in->eip = off; in->eip = off;
in->xcs = seg; in->xcs = seg;

View File

@@ -21,7 +21,6 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
/* 32bit -> 16bit -> 32bit mode switch code */ /* 32bit -> 16bit -> 32bit mode switch code */
/* /*

View File

@@ -1,6 +1,9 @@
/* /*
* (C) Copyright 2008,2009
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -30,7 +30,6 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/pci.h> #include <asm/pci.h>
/* basic textmode I/O from linux kernel */ /* basic textmode I/O from linux kernel */
static char *vidmem = (char *)0xb8000; static char *vidmem = (char *)0xb8000;
static int vidport; static int vidport;
@@ -42,9 +41,9 @@ static void beep(int dur)
int i; int i;
outb_p(3, 0x61); outb_p(3, 0x61);
for (i=0;i<10*dur;i++) { for (i = 0; i < 10*dur; i++)
udelay(1000); udelay(1000);
}
outb_p(0, 0x61); outb_p(0, 0x61);
} }
@@ -52,8 +51,8 @@ static void scroll(void)
{ {
int i; int i;
memcpy ( vidmem, vidmem + cols * 2, ( lines - 1 ) * cols * 2 ); memcpy(vidmem, vidmem + cols * 2, (lines - 1) * cols * 2);
for ( i = ( lines - 1 ) * cols * 2; i < lines * cols * 2; i += 2 ) for (i = (lines - 1) * cols * 2; i < lines * cols * 2; i += 2)
vidmem[i] = ' '; vidmem[i] = ' ';
} }
@@ -61,14 +60,14 @@ static void __video_putc(const char c, int *x, int *y)
{ {
if (c == '\n') { if (c == '\n') {
(*x) = 0; (*x) = 0;
if ( ++(*y) >= lines ) { if (++(*y) >= lines) {
scroll(); scroll();
(*y)--; (*y)--;
} }
} else if (c == '\b') { } else if (c == '\b') {
if ((*x) != 0) { if ((*x) != 0) {
--(*x); --(*x);
vidmem [ ( (*x) + cols * (*y) ) * 2 ] = ' '; vidmem[((*x) + cols * (*y)) * 2] = ' ';
} }
} else if (c == '\r') { } else if (c == '\r') {
(*x) = 0; (*x) = 0;
@@ -106,16 +105,15 @@ static void __video_putc(const char c, int *x, int *y)
} }
} else if (c == '\f') { } else if (c == '\f') {
int i; int i;
for (i=0;i<lines*cols*2;i+=2) { for (i = 0; i < lines * cols * 2; i += 2)
vidmem[i] = 0; vidmem[i] = 0;
}
(*x) = 0; (*x) = 0;
(*y) = 0; (*y) = 0;
} else { } else {
vidmem [ ( (*x) + cols * (*y) ) * 2 ] = c; vidmem[((*x) + cols * (*y)) * 2] = c;
if ( ++(*x) >= cols ) { if (++(*x) >= cols) {
(*x) = 0; (*x) = 0;
if ( ++(*y) >= lines ) { if (++(*y) >= lines) {
scroll(); scroll();
(*y)--; (*y)--;
} }
@@ -150,9 +148,8 @@ static void video_puts(const char *s)
x = orig_x; x = orig_x;
y = orig_y; y = orig_y;
while ( ( c = *s++ ) != '\0' ) { while ((c = *s++) != '\0')
__video_putc(c, &x, &y); __video_putc(c, &x, &y);
}
orig_x = x; orig_x = x;
orig_y = y; orig_y = y;
@@ -189,10 +186,8 @@ int video_init(void)
#if 0 #if 0
printf("pos %x %d %d\n", pos, orig_x, orig_y); printf("pos %x %d %d\n", pos, orig_x, orig_y);
#endif #endif
if (orig_y > lines) { if (orig_y > lines)
orig_x = orig_y =0; orig_x = orig_y =0;
}
memset(&vga_dev, 0, sizeof(vga_dev)); memset(&vga_dev, 0, sizeof(vga_dev));
strcpy(vga_dev.name, "vga"); strcpy(vga_dev.name, "vga");
@@ -203,13 +198,11 @@ int video_init(void)
vga_dev.tstc = NULL; /* 'tstc' function */ vga_dev.tstc = NULL; /* 'tstc' function */
vga_dev.getc = NULL; /* 'getc' function */ vga_dev.getc = NULL; /* 'getc' function */
if (stdio_register(&vga_dev) == 0) { if (stdio_register(&vga_dev) == 0)
return 1; return 1;
}
if (i8042_kbd_init()) { if (i8042_kbd_init())
return 1; return 1;
}
memset(&kbd_dev, 0, sizeof(kbd_dev)); memset(&kbd_dev, 0, sizeof(kbd_dev));
strcpy(kbd_dev.name, "kbd"); strcpy(kbd_dev.name, "kbd");
@@ -220,18 +213,17 @@ int video_init(void)
kbd_dev.tstc = i8042_tstc; /* 'tstc' function */ kbd_dev.tstc = i8042_tstc; /* 'tstc' function */
kbd_dev.getc = i8042_getc; /* 'getc' function */ kbd_dev.getc = i8042_getc; /* 'getc' function */
if (stdio_register(&kbd_dev) == 0) { if (stdio_register(&kbd_dev) == 0)
return 1; return 1;
}
return 0; return 0;
} }
int drv_video_init(void) int drv_video_init(void)
{ {
if (video_bios_init()) { if (video_bios_init())
return 1; return 1;
}
return video_init(); return video_init();
} }

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.

View File

@@ -1,6 +1,6 @@
/* /*
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB, daniel@omicron.se * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -22,7 +22,7 @@
*/ */
/* /*
* Linux i386 zImage and bzImage loading * Linux x86 zImage and bzImage loading
* *
* based on the procdure described in * based on the procdure described in
* linux/Documentation/i386/boot.txt * linux/Documentation/i386/boot.txt

View File

@@ -1,9 +1,9 @@
/* /*
* (C) Copyright 2008 * (C) Copyright 2008,2009
* Graeme Russ, graeme.russ@gmail.com. * Graeme Russ, <graeme.russ@gmail.com>
* *
* (C) Copyright 2002 * (C) Copyright 2002
* Daniel Engstr<74>m, Omicron Ceti AB <daniel@omicron.se>. * Daniel Engstr<74>m, Omicron Ceti AB, <daniel@omicron.se>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
@@ -23,6 +23,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
#include <common.h> #include <common.h>
#include <pci.h> #include <pci.h>
#include <asm/pci.h> #include <asm/pci.h>