Home | History | Annotate | Download | only in boot
History log of /src/sys/arch/luna68k/stand/boot/devopen.c
RevisionDateAuthorComments
 1.11  01-Sep-2015  tsutsui Use the default boot device if a kernel name without device is specificed.
 1.10  01-Sep-2015  tsutsui Fix indent.
 1.9  14-Feb-2015  tsutsui Misc KNF and cosmetics.
 1.8  21-Apr-2014  tsutsui branches: 1.8.4;
Fix stupid botches in previous.

Use a proper device unit number if a unit number or non-default device
is specified on the boot command.
 1.7  16-Apr-2014  tsutsui Use booted device unit if no unit number is specified on boot command.

Bump version to denote a visible change.
 1.6  11-Jan-2014  tsutsui branches: 1.6.2;
Add support to pass boothowto and bootdev info from bootloader to kernel.

Bootloader side changes:
- make boot command parse boothowto flags (-ads etc.)
- pass boothowto and bootdev info to the kernel via %d7 and %d6
as the old 4.4BSD/luna68k kernel expected
- remove unused and now unnecessary "howto" (how_to_boot) command
- export and tweak make_device() in devopen.c to prepare bootdev info
- remove unused and commented out get_boot_device()
 1.5  10-Jan-2014  tsutsui Reorgenize boot device configuration. The idea is taken from OpenBSD/luna88k.

- remove kernel-like autoconfiguration to probe bootable devices
- initialize SCSI and Ethernet controllers statically instead
- reorganize device softc structures per autoconf removal
- probe and print all SCSI disks (but don't assign unit numbers)
- make sdopen() to recheck the device and allocate softc dynamically
- use controller number and SCSI target ID (ctlr * 10 + id) to specify
the boot disk on the "boot" command arg
- bump version to denote changes

Now bootloader works as the following:
---
>> NetBSD/luna68k boot, Revision 1.8 (Wed Jan 8 22:13:12 JST 2014)
>> (based on Stinger ver 0.0 [Phase-31])

Machine model = LUNA-II
Physical Memory = 0x4000000 (64 MB)

sc0 at 0xe1000000: async, parity, ID 7
ID 3: TEAC FC-1 HGF 10 rev , 512 bytes/sect x 2879 sectors
ID 6: IBM DPES-31080 rev S31Q, 512 bytes/sect x 2118143 sectors
sc1 at 0xe1000040: async, parity, ID 7
ID 6: MELCO DSC-G rev 1.00, 512 bytes/sect x 62533295 sectors
le0: Am7990 LANCE Ethernet, mem at 0x71010000
le0: Ethernet address = 00:00:0a:03:42:77

Press return to boot now, any other key for boot menu
booting sd(16,0)netbsd - starting in 0 seconds.
auto-boot sd(16,0)netbsd
1911696+96040 [280480+159179]=0x255a30
:
 1.4  03-Jan-2014  tsutsui Pull more fixes from OpenBSD/luna88k:

- accept empty controller and partition numbers, as well as empty filenames,
and use defaults (0, 0 and "netbsd") instead of complaining the boot path
is invalid
- move a macro where actually necessary

Also bump version to denote the user visible change.
 1.3  16-Jan-2013  tsutsui branches: 1.3.2; 1.3.4; 1.3.6;
Add UFS2 support. Also bump version.
 1.2  13-Jan-2013  tsutsui Add netboot support.
Based on ews4800mips, mvme68k, and x68k standalone drivers.
Also bump version.

Tested on LUNA-I.

XXX: We really need proper documents about libsa APIs.
 1.1  05-Jan-2013  tsutsui First cut at NetBSD/luna68k native bootloader.

Based on 4.4BSD-Lite2/luna68k "Stinger" loader revision "Phase-31"
http://svnweb.freebsd.org/csrg/sys/luna68k/stand/
and MI libsa glue stuff are taken from hp300 etc.

Tested on LUNA-I and old DK315C SCSI disk drive.

LUNA's monitor PROM can load only an a.out binary in 4.3BSD FFS partition
(i.e. created by "newfs -O 0") on disks with OMRON's UniOS disklabel,
but now we can load an ELF kernel in root partition via this bootloader.
(See luna68k/disksubr.c for details of UniOS label)

TODO:
- LUNA-II support (check 68040 to adjust cpuspeed for DELAY())
- secondary SCSI support for LUNA-II
- netboot via le(4) (should be trivial)
- support boot options on bootloader prompt
- bootinfo (passing info about booted device and kernel symbols)
- support "press return to boot now, any other key for boot menu" method
like x86 bootloader (needs cnscan() like functions)
- tapeboot (anyone wants it?)
 1.3.6.4  03-Dec-2017  jdolecek update from HEAD
 1.3.6.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.2  25-Feb-2013  tls resync with head
 1.3.6.1  16-Jan-2013  tls file devopen.c was added on branch tls-maxphys on 2013-02-25 00:28:48 +0000
 1.3.4.1  18-May-2014  rmind sync with head
 1.3.2.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.2.2  23-Jan-2013  yamt sync with head
 1.3.2.1  16-Jan-2013  yamt file devopen.c was added on branch yamt-pagecache on 2013-01-23 00:05:53 +0000
 1.6.2.1  10-Aug-2014  tls Rebase.
 1.8.4.2  22-Sep-2015  skrll Sync with HEAD
 1.8.4.1  06-Apr-2015  skrll Sync with HEAD

RSS XML Feed