| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
The notion of "mangle name" is now restricted to producing a canonical
representation, e.g. changing \ -> / for FAT filesystems. However,
the resulting mangled name is now always human-readable, so there
never is any reason to unmangle a name.
Get rid of not just the mangling, but of the resulting unmangled-name
buffers and so on.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
| |
If a directory name/path prefix is appended to a loaded configuration
file, do a chdir at that point. We finally have all the mechanism to
do this right.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Introduce a chdir() system and a way to obtain absolute pathnames.
This should allow us to set the current base directory (filename
prefix for PXE) without breaking access to the configuration file.
As a side benefit, for the "normal" filesystems we no longer need
magic hacks to figure out where we should set our current working
directory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
| |
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
|
| | |
|
| |
|
|
|
|
|
|
|
| |
for now, almost all the stuff related to EXT have been converted to C,
and fow my (limit) test, it works well.
The getfssec function haven't converted to C, because it also be called
from asm file, and I find it's a bit hard to convert it to C. But however,
it's my next plan.
|
| |
|
|
|
|
|
|
|
| |
For now, I added a temporary file load_config.c that would be merged into
extlinux.c file later, which would make my later work be much easier.
And in order to get rid of the conflict noisy message from the open function
in ui.inc and the open function defined in the unistd.h, I changed the
open in core to core_open. It may be ugly, but it works :)
|
| |\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
core/bcopy32.inc
core/cleanup.inc
core/conio.inc
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't flush the serial port queue when encountering a "serial"
command. We don't actually want to lose data due to a repeated
"serial", since it's quite likely it's exactly the same as before.
Do flush the queue on hardware cleanup, however.
Also fix some minor bugs, including a bunch of code in the .data
segment.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
If we enable interrupts for the serial console, add a proper interrupt
handler. Since we don't know what vector we'll end up using, or if we
are shared with other devices, simply hook *all* the interrupts and
poll the serial port then.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
core/extlinux.asm
core/isolinux.asm
core/ldlinux.asm
core/pxeidle.inc
core/pxelinux.asm
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Try to HLT the processor during idle. All the events we care about
should have interrupts associated with them, except possibly the
serial console. Try to deal with the serial console by waiting some
time before going into HLT, and giving the user the option of enabling
the serial console interrupt, on the assumption that the BIOS will
simply IRET.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a pm_call convenience macro, instead of using stub routines
everywhere. Stubs would still make sense if we have a routine which
gets invoked from a lot of places, though, since the pm_call expands
to 9 bytes as opposed to 3 bytes per call site plus a 10-byte stub.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |/
|
|
|
|
|
|
| |
Rename the .text, .data and .bss sections to .text16, .data16 and
.bss16, in anticipation of being linked with compiler-generated 32-bit
code, which presumably would like to use the standard section names.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
| |
Change pc_label in parseconfig.inc to default vk_rname to mangled
vk_vname. Also change spaces to tabs. This gives a usable error
message in the case where the user selects a label without any kernel
information.
|
| |
|
|
|
|
|
|
|
| |
Change "localboot" to be another vkernel type. It still needs some
special treatment (because it doesn't take a filename), but overall
this makes it a lot cleaner than what it was before. It should also
avoid the problem of empty labels (e.g. menu quit) doing weird things.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
| |
The messing around with partial pointers for rllpack/rllunpack turned
out to be a source of bugs. Instead, have all the values be 32 bits
wide, and require the callers to pass them accordingly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
| |
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
|
|
|
|
|
| |
Add a new macro "alignz" to align with zero bytes; use to align inside
a data section (i.e. a progbits section which doesn't contain code.)
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
|
|
|
|
|
| |
Update copyright notices. Per agreement with my new employer, Intel
Corporation, add Intel copyright notices where appropriate.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
| |
Refactor the command line parser to be more of a general parser
instead of treating each option as an ad hoc feature.
Suppress the Loading... prompt if "quiet" is specified on the command
line. Some messed-up people want it this way.
|
| |
|
|
| |
Use "skipline" where appropriate instead of reading into the trackbuf.
|
| |
|
|
|
|
|
|
|
| |
Make sure we eat the rest of the input line when we encounter a
DEFAULT command that is to be ignored because we have a UI command
already. Do this by making skipline a subroutine.
Based on a patch by Sebastian Hebszt <herbszt@gmx.de>, although
substantially modified.
|
| |
|
|
|
|
|
|
|
| |
The new directive doesn't seem to work here. Looks like DefaultLevel is never
changed:
core/parseconfig.inc:pc_default: cmp ax,[DefaultLevel]
core/parseconfig.inc:DefaultLevel dw 0 ; The current level of default
core/ui.inc: cmp word [DefaultLevel],1 ; Active UI statement?
|
| |
|
|
|
|
|
|
|
| |
Add a new "UI" directive to specify a user interface module, instead
of abusing the DEFAULT directive. This allows the DEFAULT directive
to be used for setting the default, even when the menu system is
enabled.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
| |
When the Tab key is pressed, display a list of matching labels. This
can be disabled via the NOCOMPLETE configuration command. This is a
slightly modified patch by Sebastian Herbszt.
|
| |
|
|
|
|
|
| |
Simplify and fix bugs in the code to store and match label names
without filename mangling.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
|
|
|
| |
Store the label names unmangled and match those against command_line.
- Sebastian
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
| |
People often don't bother specifying a baud rate for virtual serial
ports. Handle parsing correctly.
|
| |
|
|
|
|
|
|
| |
Remove assumption that mangle_name leaves DI beyond the end of the
buffer. This was true back when the mangled filename buffer was an
11-byte DOS filename, but it is definitely not true anymore.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
|
|
|
| |
Allow the initrd to be specified on a separate line from command-line
options (append). This apparently can help certain tools.
|
| |
|
|
| |
Fix a set of bogus calls to writestr_early instead of writestr.
|
| |
|
|
|
|
|
|
|
|
| |
Mechanically rename the writestr functions:
writestr -> writestr_early
cwritestr -> writestr
... to reflect which function is more appropriate to call in normal
circumstances.
|
|
|
Move source files out of the root directory; the root is a mess and
has become virtually unmaintainable. The Syslinux core now lives in
core/; the Linux and generic utilities has moved into utils/, and
copybs.com has moved into dos/; it had to go somewhere, and it seemed
as good a place as any.
|