Liu Aleaxander [Sat, 8 Aug 2009 09:39:43 +0000 (17:39 +0800)]
Core: unmangle_name converted
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sat, 8 Aug 2009 09:03:56 +0000 (17:03 +0800)]
Core:EXTLINUX: fix the bug of open_file_t struct in extlinux
The size of open_file_t structure in extlinux is twice than in the others derivatiives. So we
should cut the MAX_OPEN to half.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sat, 8 Aug 2009 08:53:24 +0000 (16:53 +0800)]
Core: move the comman externs to core.h
the trackbuf and Files are all uesed in all the four fs, so it would be nice to put the externs
in core.h instead in each c file of the four fs
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sat, 8 Aug 2009 08:36:26 +0000 (16:36 +0800)]
Core: add _static_ statement to all fs
This well let me far away from some werid trouble
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sat, 8 Aug 2009 08:05:08 +0000 (16:05 +0800)]
core:PXELINUX: fix the OACK option parsing bug.
the current code can just handle one option beacuse I put the do-while loop in the wrong position.
Liu Aleaxander [Sat, 8 Aug 2009 07:51:34 +0000 (15:51 +0800)]
Core: get the rid of the ld warnings
we extern the SecPerClust from diskstart.inc and used in fat.c, but we also defined another
SecPerClust in ext2.c. So we should be better to make more things in _static_, just like hpa told.
H. Peter Anvin [Fri, 7 Aug 2009 07:11:21 +0000 (00:11 -0700)]
extlinux: add ext4 support to the installer
The filesystem code now supports ext4, so support it in the installer
as well.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 7 Aug 2009 07:07:02 +0000 (00:07 -0700)]
Makefile: add back the gpxe directory
Add the gpxe directory back into the build.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 7 Aug 2009 07:05:28 +0000 (00:05 -0700)]
Merge branch 'core32' into fsc
Resolved Conflicts:
core/extlinux.asm
core/pxelinux.asm
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Thu, 6 Aug 2009 09:27:02 +0000 (17:27 +0800)]
Core:PXELINUX: pxelinux derivative merged succeesfully
So, now we have all the fs converted, and the rest is to make it better and more simple
Liu Aleaxander [Thu, 6 Aug 2009 07:17:48 +0000 (15:17 +0800)]
Core:PXELINUX: try to merge pxelinux
the others Syslinux derivative disabled for now
Liu Aleaxander [Mon, 20 Jul 2009 00:46:16 +0000 (08:46 +0800)]
Core: some bugs fixed
H. Peter Anvin [Thu, 16 Jul 2009 16:11:14 +0000 (12:11 -0400)]
extlinux: handle more than one sector of sector pointers
Fix the extlinux installer so we can handle more than one sector of
sector pointers. This code should be merged with the equivalent code
in the syslinux installer.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Mon, 13 Jul 2009 08:08:12 +0000 (16:08 +0800)]
Core: do trick on the hybrid mode detection
Liu Aleaxander [Mon, 13 Jul 2009 07:56:51 +0000 (15:56 +0800)]
Core: fix the hybride mode detection code
Liu Aleaxander [Mon, 13 Jul 2009 06:47:02 +0000 (14:47 +0800)]
Core: code clean
cleans the unused variables\18
Liu Aleaxander [Mon, 13 Jul 2009 06:34:52 +0000 (14:34 +0800)]
Core: fix the HD-mode error in isolinux
error fixed. Just as what hpa told, deal with that might simply be to consider a 2K CD sector a
"block" rather than a "sector". so, in cdrom mode, we have 2K blocksize and 2k sector size, while
in hybrid mode we have 2k blocksize and 512 bytes sector size.
H. Peter Anvin [Fri, 10 Jul 2009 23:40:20 +0000 (16:40 -0700)]
dos: add pointer to PE header in binary
Explicitly add the pointer to the PE header in the binary. That way
we might be eventually able to create a merged DOS/Win32 binary.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Fri, 10 Jul 2009 21:46:47 +0000 (05:46 +0800)]
Core: changes the sector_t and block_t types to be uint64_t
H. Peter Anvin [Thu, 9 Jul 2009 19:15:21 +0000 (12:15 -0700)]
com32: add openmem.o to the Makefile
We need openmem.o in the Makefile if it's actually supposed to get
built...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 9 Jul 2009 18:56:17 +0000 (11:56 -0700)]
Add openmem() function to read from memory as if it were a file
Reading from memory as if it were a file is pretty easy... we just
treat it as a really big block buffer and tell the file layer that we
already closed the underlying handle.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 9 Jul 2009 17:48:57 +0000 (10:48 -0700)]
core: include exported symbol information
Extract symbol table information to be exported to modules. This is a
really hacky way of doing it, so replace it later.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 8 Jul 2009 23:29:35 +0000 (16:29 -0700)]
syslinux.ld: add support for .ctors and .dtors
We're going to need at least constructors when we start linking in
com32 library code in a serious way.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 8 Jul 2009 00:02:44 +0000 (17:02 -0700)]
core: give 64K to the PM stack
Give a full aligned 64K chunk for the PM stack.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Tue, 7 Jul 2009 16:59:03 +0000 (00:59 +0800)]
Core: code clean: cuts the unnecessary data type conversion in disk read-write function
It's unnecessary to do that conversion.
Liu Aleaxander [Tue, 7 Jul 2009 16:44:45 +0000 (00:44 +0800)]
Core: code clean: breakup the fs->fs_dev->disk stuff
Add a new disk structure pointer disk to point to fs->fs_dev_disk to break the
long code.
H. Peter Anvin [Mon, 6 Jul 2009 00:14:54 +0000 (17:14 -0700)]
Merge branch 'master' into core32
H. Peter Anvin [Sun, 5 Jul 2009 21:15:12 +0000 (14:15 -0700)]
dosutil/Makefile: more complete structure
More complete and consistent structure for dosutil/Makefile.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 5 Jul 2009 21:15:12 +0000 (14:15 -0700)]
dosutil/Makefile: more complete structure
More complete and consistent structure for dosutil/Makefile.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 5 Jul 2009 08:05:48 +0000 (01:05 -0700)]
Merge branch 'master' into core32
H. Peter Anvin [Sun, 5 Jul 2009 08:04:50 +0000 (01:04 -0700)]
dosutil: update mdiskchk, add Makefile
Update mdiskchk and add a Makefile. Note that since this needs
OpenWatcom to compile, we still check in the binary file (which is
quite small, anyway.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 1 Jul 2009 21:24:23 +0000 (14:24 -0700)]
core/rllpack.c: fix some particular bad formatting
indent doesn't always do the right thing...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 27 Jun 2009 00:45:51 +0000 (17:45 -0700)]
Merge branch 'master' into core32
H. Peter Anvin [Sat, 27 Jun 2009 00:44:22 +0000 (17:44 -0700)]
Create a dosutil subdirectory and move mdiskchk there
DOS utilities aren't really "samples". Create a dedicated "dosutil"
directory, and move mdiskchk there for now.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 24 Jun 2009 23:39:08 +0000 (16:39 -0700)]
dos: assume NASM 2.03, so use -MP -MD for dependencies
Assume NASM 2.03 or later, so use -MP -MD to generate dependencies.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 24 Jun 2009 23:36:50 +0000 (16:36 -0700)]
core: assume NASM 2.03 or later, so we can use -MD for deps
Let's require NASM 2.03 or later, so we can use the -MD and -MP
options to generate dependencies.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 24 Jun 2009 23:26:59 +0000 (16:26 -0700)]
MCONFIG: we need NASM 2 these days, use -Ox
We need NASM 2 anyway for this branch, so we might as well use the -Ox
option.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 24 Jun 2009 22:55:43 +0000 (15:55 -0700)]
MCONFIG: build GCCOPT one step at a time, don't align stack
Some gcc options are only valid together with other gcc options, so
build GCCOPT one bit at a time, and change gcc_ok to take already
existing GCCOPT flags into account.
This lets us build with -mpreferred-stack-boundary=2, which is only
valid on 32 bits and therefore with -m32.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 24 Jun 2009 21:29:00 +0000 (14:29 -0700)]
core: generate DWARF debugging info from NASM
NASM 2.03 or higher can generate DWARF debugging info, which is also
what gcc produces. Mixing debugging info seems to cause a lot of
problems.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Tue, 23 Jun 2009 22:44:11 +0000 (06:44 +0800)]
Core: fixs the chunk>>=1 problem
well, it seems ugly, but it can do the right work(I think). here is the new way:
chunk = chunk == 1 ? 0 : ((chunk+1) >> 1);
if we are reading ONE sector, and after six retries, we can mark it as _failed_.
So just make it be ZERO.
Liu Aleaxander [Tue, 23 Jun 2009 22:31:39 +0000 (06:31 +0800)]
Core: code clean
removes the unused variables and unused functions
Liu Aleaxander [Tue, 23 Jun 2009 22:08:52 +0000 (06:08 +0800)]
Core:ISOLINUX: fixs the bug to make the isolinux do the work
Liu Aleaxander [Tue, 23 Jun 2009 09:59:06 +0000 (17:59 +0800)]
Merge branch 'isolinux'
Conflicts:
core/Makefile
core/diskstart.inc
core/fs.c
Liu Aleaxander [Tue, 23 Jun 2009 09:28:02 +0000 (17:28 +0800)]
Core: merge ldlinux
Liu Aleaxander [Tue, 23 Jun 2009 09:17:20 +0000 (17:17 +0800)]
Merge branch 'ldlinux'
Conflicts:
core/fs.c
Liu Aleaxander [Tue, 23 Jun 2009 08:20:43 +0000 (16:20 +0800)]
Core:LDLINUX: removes the ugly code
Make the ConfigName to store the config file path, well it's enough because the
longest config file path lenght is just 28.
Liu Aleaxander [Tue, 23 Jun 2009 04:45:55 +0000 (12:45 +0800)]
Core:EXTLINUX: add more debug stuff
Liu Aleaxander [Mon, 22 Jun 2009 21:17:15 +0000 (05:17 +0800)]
removes the %if IS_ISOLINUX stuff in the layout.inc
removes the %if IS_ISOLINUX stuff in the layout.inc to make the fs.c can find
the core_cache_buf symbol from ISOLINUX.
Liu Aleaxander [Mon, 22 Jun 2009 07:11:43 +0000 (15:11 +0800)]
Core:ISOLINUX: make the isolinux do the work
Liu Aleaxander [Sun, 21 Jun 2009 06:59:46 +0000 (14:59 +0800)]
Core:ISOLINUX: convert the isolinux.asm to C
Liu Aleaxander [Sat, 20 Jun 2009 07:34:12 +0000 (15:34 +0800)]
Core:EXTLINUX: applies the path from hpa to EXTLINUX
I just added it to EXTLINUX first, and I will consider if I should added it
SYLSINUX and ISOLINUX and so on tomorrow (I'm not sure for now).
And I added a new structure disk to store the disk specific information, so
some changes happened on the vfs-like interface. Hope you will like it, hap;)
the new code broken on the non-standard disk geometry, like the exttest package
given by hpa.
Gilles Espinasse [Sat, 20 Jun 2009 00:21:19 +0000 (17:21 -0700)]
extlinux: remove duplicate "const char *program;"
Remove redundant declaration.
Liu Aleaxander [Mon, 15 Jun 2009 23:42:07 +0000 (07:42 +0800)]
core: new diskio library
Beginnings of a diskio library capable of reading and writing, and
with proper handling of bounce buffers and segment boundaries.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 15 Jun 2009 21:39:20 +0000 (14:39 -0700)]
Add .gitignore files for generated files
Create new .gitignore files and add generated files to them.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Mon, 15 Jun 2009 07:19:01 +0000 (15:19 +0800)]
Core:SYSLINUX: applies the sector_t data types
Applies the sector_t data types and makes come code clean
Liu Aleaxander [Mon, 15 Jun 2009 06:54:17 +0000 (14:54 +0800)]
Core:SYSLINUX: code clean
removes the unused variables in ldlinux.asm
Liu Aleaxander [Mon, 15 Jun 2009 06:18:40 +0000 (14:18 +0800)]
Core:EXTLINUX: removes the open_file_t structure
Liu Aleaxander [Mon, 15 Jun 2009 05:32:44 +0000 (13:32 +0800)]
Core:EXTLINUX: clean the code
remove some unused variables in extlinux.asm and remove some extern statement in
ext2.c
Liu Aleaxander [Mon, 15 Jun 2009 04:25:07 +0000 (12:25 +0800)]
Core:SYSLINUX: rm the __lowemem stuff
H. Peter Anvin [Sun, 14 Jun 2009 23:21:33 +0000 (16:21 -0700)]
Merge branch 'master' into core32
Resolved Conflicts:
version
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Jun 2009 23:21:10 +0000 (16:21 -0700)]
Merge branch 'syslinux-3.8x'
H. Peter Anvin [Sun, 14 Jun 2009 23:03:54 +0000 (16:03 -0700)]
NEWS: document chainloading fix
H. Peter Anvin [Sun, 14 Jun 2009 23:01:30 +0000 (16:01 -0700)]
PXELINUX: when chaining an NBP, restore *all* registers
On at least ASUS A8N-E, unless *all* registers are restored to pre-PXE
status, localboot doesn't work. We were clobbering DS, ESI and EDX
when chainloading an NBP, which meant that localboot wouldn't work in
the chainloaded NBP. Fix this.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Jun 2009 21:32:42 +0000 (14:32 -0700)]
bootsect: zero memory above a chainloaded boot sector/NBP
Windows RIS has been reported to make inappropriate use of data found
in uninitialized memory. To avoid that, clear memory between
a chainloaded boot sector or NBP and Free Base Memory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Sun, 14 Jun 2009 06:22:33 +0000 (14:22 +0800)]
Core:SYSLINUX: ldlinux.asm converted to C
Well, something goes ugly but it works. And I still need spend some more time
to make the code much better.
Liu Aleaxander [Fri, 12 Jun 2009 21:56:55 +0000 (05:56 +0800)]
Core:EXTLINUX: move the header file in core into core/include
Liu Aleaxander [Fri, 12 Jun 2009 07:45:52 +0000 (15:45 +0800)]
Core: fix the not found error when type the kernel name without the extent.
it will not clear the zf flag when not found the right file, so it will give the
next file search(searching for a different filename extentsion the wrong answer,
so we need do it after every file searching.
well, in fact we should use EAX(the file lenght in bytes) or si(the open_file_t
structure pointer) to indicate if we have successfully found the file or not.
Liu Aleaxander [Thu, 11 Jun 2009 22:51:10 +0000 (06:51 +0800)]
Core: fix the menu display error
Well, it's a 'bug' that can be fixed easily fixed, that's just disable the
debug output. vesamenu.c32 will be messed up with the outputs.
Liu Aleaxander [Thu, 11 Jun 2009 07:54:43 +0000 (15:54 +0800)]
Core: make vfs do the work
it works, but it broke somewhere; it can't display the menu correctly.
Liu Aleaxander [Thu, 11 Jun 2009 02:47:04 +0000 (10:47 +0800)]
Core: add the skeleton fo VFS-like system
Two new files added; they are:
fs.h defines some basic vfs objects
fs.c defines the basic functions
Note: for now, it's just a skeleton, in another word, it can't compiled.
H. Peter Anvin [Wed, 10 Jun 2009 05:54:51 +0000 (22:54 -0700)]
Merge branch 'master' into core32
H. Peter Anvin [Wed, 10 Jun 2009 05:50:55 +0000 (22:50 -0700)]
com32.h: cleanups, make OFFS_VALID() take the pointer size into account
Clean up some of the constructs in com32.h, and make OFFS_VALID() take
the pointer type into account for the range check -- the whole object
needs to fit within the segment.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Tue, 9 Jun 2009 22:05:04 +0000 (06:05 +0800)]
Core:EXTLINUX: clean the WARNINGs
H. Peter Anvin [Tue, 9 Jun 2009 18:34:00 +0000 (11:34 -0700)]
memdisk: don't use the stack before bootstrap
Under some certain circumstances, it might not be safe to use the
stack as it was set up, so use a jump instead of a call to invoke the
bootstrap.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 9 Jun 2009 17:49:50 +0000 (10:49 -0700)]
Merge branch 'master' into core32
H. Peter Anvin [Tue, 9 Jun 2009 17:49:31 +0000 (10:49 -0700)]
Merge commit 'syslinux-3.82'
Conflicts:
com32/menu/menumain.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 9 Jun 2009 17:19:25 +0000 (10:19 -0700)]
pxelinux: actually stop parsing on a null option
Stop the OACK parsing on a null option, even if it isn't the very
first option.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 9 Jun 2009 15:51:45 +0000 (08:51 -0700)]
pxelinux: revert to using TFTP error 8
The main reason for ERROR is OACK parsing failure, so revert to using
error code 8 (but a fixed text error.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 9 Jun 2009 14:29:13 +0000 (07:29 -0700)]
pxelinux: cleaner test for OACK trailing null bytes
Instead of looking for a string of null bytes at the end of the OACK
string, simply abort parsing if we run into a null byte where an
option is expected; either we are seeing junk at the end of the
packet, or we are hopelessly confused about how to make sense of the
rest of the packet -- in either case, ignoring is the "liberal"
option.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 9 Jun 2009 05:19:41 +0000 (22:19 -0700)]
PXELINUX: handle OACK packets with extra NULs, cleaner TFTP error
There are apparently TFTP servers in the field which will send OACK
packets with extra NUL bytes appended at the end. If we find an OACK
packet where the only thing left at some point during processing is
NULs, then just consider the packet processed.
We have reported all TFTP protocol errors as "tsize required", which
is definitely not true anymore. Change error code to 0 (undefined)
and the error string to "TFTP error". When this code gets converted
to C we'll do better.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Tue, 9 Jun 2009 01:25:42 +0000 (09:25 +0800)]
Core:EXTLINUX: fix bug with lots of dots and searchdir
The bug hpa said in the email that prints lots of dots when loading a kernel fixed.
And with my test, I found that the searchdir couldn't return correctly while not find
what we wanna find.(In asm, the asm code use ZF flag to test if we successed. And I
thought regs->esi.w[0] = file(be zero on fail) will set ZF flag). Well, It's a good
thing that I found the reg structure has the eflags filed. then it works; nice thing!
H. Peter Anvin [Mon, 8 Jun 2009 03:59:52 +0000 (20:59 -0700)]
memdisk: additional cleanups
Additional stylistic cleanups. Rename "syscall" to "intcall" (we
can't call it __intcall without clashing with com32.h); use macros
instead of copying variables to different places with only the type
being different.
Also, only change the rm/pm jump instructions when actually relocating
the code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Jun 2009 01:47:35 +0000 (18:47 -0700)]
memdisk: add missing memmove.S
We need memmove.S in the memdisk directory...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Jun 2009 01:46:59 +0000 (18:46 -0700)]
memdisk: minor cleanups
Minor cleanups to the source base; make die() also print an error
message and move die() into conio.c.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Jun 2009 01:25:09 +0000 (18:25 -0700)]
memdisk: relocate real-mode code before booting
Relocate the real-mode code before booting. This allows the target
bootstrap to be loaded at an arbitrary address, not necessarily
0x7c00, and to be almost arbitrarily long.
Add some initial infrastructure for other bootstrap addresses, too.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Jun 2009 00:13:58 +0000 (17:13 -0700)]
memdisk: move rm_args initialization to C code; export rm_size
Move the rm_args initialization (and the associated sti) to C code.
Export the total size of the real-mode code to the protected-mode
code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Jun 2009 00:06:59 +0000 (17:06 -0700)]
memdisk: set up a limited-size real-mode stack
Limit the size of the real-mode stack. This should limit the amount
of memory needed for a relocated real-mode code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Jun 2009 00:04:03 +0000 (17:04 -0700)]
memdisk: remove hard-coded assumptions for a specific RM segment
Remove some hard-coded assumptions about having an RM segment at a
specific location. This should allow us to relocate the RM code once
the PM code knows where DOS free memory ends. This in turn allows the
PM code to load the boot sector almost anywhere it wants to go in low
memory, as is required for 100% compliant El Torito support.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Jun 2009 22:16:24 +0000 (15:16 -0700)]
memdisk: remove the requirement that CS_BASE < 64K
Remove the requirement that CS_BASE is below 64K, based on its use in
the A20 test code. This means it can now be located anywhere in high
memory, but it is still a constant.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Jun 2009 22:12:39 +0000 (15:12 -0700)]
memdisk: move the heap to high memory
Instead of using a heap arbitrarily allocated in low memory, move it
to a chunk of bss in high memory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Jun 2009 21:44:30 +0000 (14:44 -0700)]
memdisk: don't hard-code 0:7C00 as the entry point
Make it possible for the setup code to override SS:SP and CS:IP.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Jun 2009 21:36:07 +0000 (14:36 -0700)]
memdisk: pass in the address of the real-mode code
Pass in the address of the real-mode code instead of hard-coding it in
two separate places.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Sat, 6 Jun 2009 23:43:32 +0000 (07:43 +0800)]
Core:EXTLINUX: clean the code
Liu Aleaxander [Sat, 6 Jun 2009 22:44:06 +0000 (06:44 +0800)]
Core:EXTLINUX: convert mangle name to C
Liu Aleaxander [Fri, 5 Jun 2009 22:04:16 +0000 (06:04 +0800)]
Core: move close_file function in getc.inc
because (I think) all the close_file are the same.
Liu Aleaxander [Fri, 5 Jun 2009 21:54:00 +0000 (05:54 +0800)]
Core:EXTLINUX: convert the getfssec function to C
the main file read function (getfssec) has been converted to
C. Fow now, abort 90% stuff have been converted to C. The
next is to clean the code and convert the rest.
Liu Aleaxander [Fri, 5 Jun 2009 01:29:13 +0000 (09:29 +0800)]
Core: Convert the searchdir function to C
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.
H. Peter Anvin [Fri, 5 Jun 2009 00:24:58 +0000 (17:24 -0700)]
core: prevent buggy INT 13h from leaving IF=0
If it can happen for CD-ROM BIOSes, it can probably happen elsewhere,
too; make sure we don't leave interrupts disabled after broken INT 13h
calls.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Thu, 4 Jun 2009 23:29:20 +0000 (07:29 +0800)]
Core: Convert linsector and open_inode function to C
The two functions are converted to C.
And for another thing, I find that I haven't included the load_config.c file before(my fault),
so added it here.
Sergey Vlasov [Thu, 4 Jun 2009 15:14:48 +0000 (19:14 +0400)]
simple menu: make ONTIMEOUT work with MENU HIDDEN
The command invoked when no keys were pressed for the specified time
(ONTIMEOUT) may be different from the menu item initially selected
when the menu is displayed (DEFAULT or MENU DEFAULT). Unfortunately,
this did not work together with MENU HIDDEN (which is exactly the case
when having a separate ONTIMEOUT command makes the most sense).
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>