tech-kern archive

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

help in efiboot



Hello

I am working on efiboot to support more serial ports thant just EISA,
for instance USB-to-serial adapters. 

The help commend grew large, it now outputs more ten 25 lines. Is it
desirable to fold stuff so that it fits in a 25-lines screen? I would 
get the result attached at the end of the message. I can also try a 
two-columns approach. Or perhaps we can have help withsubtopics? I am
not sure pager is reasonable. What do you think?

Another question: we have a static serios array to handle serial ports.
For now I just increased its size from 4 to 12. I could also dynamically
allocate it so that we can cope with an arbitrary count of serial ports.
The only thing that holds my hand is the fear that dynamic allocation 
could make bootstrap less reliable. We could also advise rebuilding
bootstrap in the case someone really wants to use 16 serial ports.
Any opinion?

And a last question: I can use any UEFI supported serial port, they
are all called com{unit}. Bootstrap does not care if it is EISA, PCI
or USB based. I also introduced a kconsdev command to set the console
used by the kernel without switching bootstrap console. Here I can 
use ucom{unit} for USB-to-serial adapter. Managing the bootstrap's 
com{unit} to kernel's ucom{unit} mapping is left to the user.

We could do better, as ACPI provides a full path to the serial port,
which should tell us if it is EISA, PCI or USB. If implementnations
are standard-compliant, we could use the same device names in bootstrap
and in kernel. Standard compliance is a big "if", and that will make 
bootstrap more complex. Is it worth the effort? Also note that kconsdev 
can specify a ucom device unsupported by UEFI and hence available to the 
kernel, but invisible to bootstrap.

help stuffed in less than 25 lines:
--- cut here ---
commands are:
boot [dev:][filename] [-12acdqsvxz]
     dev syntax is (hd|fd|cd|raid)[N[x]] or NAME=gpt_label
     (ex. "hd0a:netbsd.old -s")
pkboot [dev:][filename] [-12acdqsvxz]
dev [dev:]
consdev|kconsdev pc|com{unit}[,speed]|com[,addr[,speed]]|ucom{unit}[,speed]
root wd{unit}|sd{unit}|wedge:name   
devpath|efivar
gop [{modenum|list}]
load {path_to_module}                                                           
ls [dev:][path]
memmap [{sorted|unsorted|compact}]    
menu (reenters boot menu, if defined in boot.cfg)
modules {on|off|enabled|disabled}
multiboot [dev:][filename] [<args>]
reloc {address|none|default}
rndseed {path_to_rndseed_file}
splash {path_to_image_file}           
text [{modenum|list}]
userconf {command}
version|help|?|quit
--- cut here ---

-- 
Emmanuel Dreyfus
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index