Home | History | Annotate | Download | only in boot
History log of /src/sys/arch/amiga/stand/bootblock/boot/console.c
RevisionDateAuthorComments
 1.16  25-Mar-2023  abs Fix NetBSD/amiga bootblocks for Kickstart 3.2 - from Karoly Balogh

Kickstart 3.2 changed to not initialize console.device before
bootstrap, so the previous NetBSD bootblocks would crash when they
tried to initialise console output.

With this change if the call to the OpenDevice() stub fails, the
code now calls FindResident() and InitResident() before retrying
the OpenDevice().

Many thanks to Karoly Balogh for tracking this down (and also for
knowing just who to poke to get insight into the 3.2 changes :)
 1.15  18-Dec-2016  mlelstv branches: 1.15.46;
check for serial console flag also when re-using console from
primary bootstrap.
 1.14  15-Jan-2016  mlelstv branches: 1.14.2;
Add 'C' option to bootblock to enable serial console.
 1.13  17-Oct-2009  mlelstv branches: 1.13.22; 1.13.40;
Add a serial console mode for the bootblock. In this mode all console
output will be echoed to the serial port and input will be accepted
from either keyboard or serial port. The bootblock serial console is
limited to 9600bps 8N1 as it uses the AmigaOS kernel debug routines.

To enable this you have to uncomment the SERCONSOLE define in
boot/Makefile.

Also note that the handling of a serial console in the kernel is
independent of this, you need to a build a kernel with 'options
SERCONSOLE'.
 1.12  11-Oct-2009  mlelstv AmigaOS console.device expects a character buffer, not a pointer to an int.
This fixes printf() output.
 1.11  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.10  17-Mar-2009  he Make putchar() obey the stand.h prototype.
 1.9  14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.8  28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7  11-Dec-2005  christos branches: 1.7.74; 1.7.76; 1.7.78;
merge ktrace-lwp.
 1.6  28-Jun-2005  junyoung #include <lib/libsa/stand.h> rather than <stand.h> or "stand.h"
 1.5  26-Jan-2002  aymeric branches: 1.5.16;
- ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.4  17-Dec-2001  mhitch Update amiga booter to two-stage booter.

First stage is bootxx_ffs (for ffs boot partitions) or bootxx_fd (for bootable
floppy disk). These locate, load, and execute the second stage loader boot.amiga.
The console screen is created and passed to the second stage loader.

The second stage loader uses loadfile() to load the kernel image, which can
be either a.out or ELF format, and can also be compressed. It will load a
kernel file from ffs file systems or the ustarfs used on floppy disks.
 1.3  16-Feb-1999  is branches: 1.3.22; 1.3.26;
Fix Copyright dates
 1.2  16-Feb-1999  is Assign my files to The NetBSD Foundation, Inc.
 1.1  29-Nov-1996  is branches: 1.1.1;
Initial revision
 1.1.1.1  29-Nov-1996  is First version of a NetBSD-Amiga bootblock compilable from within NetBSD,
along with toolchain enhancements.

aout2bb transforms a.out files with reloc information into bootblock format
files with a compressed relocation info.

bbstart.s relocates the bootblock using this compressed info, before jumping
to C code.

txlt changes some more of the absolute references to pc-relative ones (we know
we have a single code + data address space).

If you ever try to change this: don't even dare to change the compiler options;
they were found in weeks of trial and error as the ones producing the smallest
(not necessarily fastests) code.

installboot is just a script around dd, for now.

Some ideas by Michael Hitch, Leo Weppelman and Jason Thorpe; bugs added
by myself.
 1.3.26.2  28-Feb-2002  nathanw Catch up to -current.
 1.3.26.1  08-Jan-2002  nathanw Catch up to -current.
 1.3.22.2  11-Feb-2002  jdolecek Sync w/ -current.
 1.3.22.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.16.1  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.78.3  11-Mar-2010  yamt sync with head
 1.7.78.2  04-May-2009  yamt sync with head.
 1.7.78.1  16-May-2008  yamt sync with head.
 1.7.76.1  18-May-2008  yamt sync with head.
 1.7.74.1  02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1  28-Apr-2009  skrll Sync with HEAD.
 1.13.40.2  05-Feb-2017  skrll Sync with HEAD
 1.13.40.1  19-Mar-2016  skrll Sync with HEAD
 1.13.22.1  03-Dec-2017  jdolecek update from HEAD
 1.14.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.15.46.1  30-Mar-2023  martin Pull up following revision(s) (requested by abs in ticket #133):

sys/arch/amiga/stand/bootblock/boot/libstubs.h: revision 1.8
sys/arch/amiga/stand/bootblock/boot/version: revision 1.3
sys/arch/amiga/stand/bootblock/boot/libstubs.s: revision 1.11
sys/arch/amiga/stand/bootblock/boot/console.c: revision 1.16

Fix NetBSD/amiga bootblocks for Kickstart 3.2 - from Karoly Balogh
Kickstart 3.2 changed to not initialize console.device before
bootstrap, so the previous NetBSD bootblocks would crash when they
tried to initialise console output.

With this change if the call to the OpenDevice() stub fails, the
code now calls FindResident() and InitResident() before retrying
the OpenDevice().

Many thanks to Karoly Balogh for tracking this down (and also for
knowing just who to poke to get insight into the 3.2 changes :)

RSS XML Feed