Liu Aleaxander [Thu, 10 Dec 2009 13:35:07 +0000 (21:35 +0800)]
LDLINUX:vfat: Oh, NO, I did fix the above bug in a wrong way!
I shouldn't count on the 'dname' parameter, we should ZERO the
'long_name' buffer at every time we met a new long name entry,
and that's the right way to fix the bug.
And we shouldn't count the 'id == 0' to check if we have a long
name matched first or not. Say we have one entry of a long name
entry, it will always be 'id == 0' even it doesn't matches. So,
add a new flag variable to do this.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Thu, 10 Dec 2009 13:06:25 +0000 (21:06 +0800)]
LDLINUX:vfat: fix the bug that can't find the program even it exists
Here comes a TINY bug but hard to find! After we run hdt.c32(it can run it
well), then we will get failed if we run cpuidtest.c32, and it does exist.
Well, it's weird since it doesn't happened in the fstk implementation.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Thu, 10 Dec 2009 07:30:21 +0000 (15:30 +0800)]
LDLINUX:vfat: Improve the fat fs relative path searching
Added a new flag, FS_THISIND, used in the fat and iso fs relative path
searching. It means tries to get the last directory of the config file
path in the 'this_inode' variable to do a relative searching while loading
the kernel images in after.
And also fixed a bug in fs.c which wouldn't close the file structure when
doing path searching failed! And as a result, we could just run a few com32
programs.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Wed, 9 Dec 2009 14:23:14 +0000 (22:23 +0800)]
LDLINUX: Applying the generic path_lookup to FAT fs
Well, it's far more to be done, esp. the relative path-searching.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 20 Nov 2009 06:14:48 +0000 (14:14 +0800)]
FS: add a new fs flag and do a better searchdir-check
If we want use the malloc/free functions, set the FS_USEMEM flag
in the (fs)_ops.flags, and in the fs_init phase, it will init the
memory management system.
And it would be little better to do a check base on if we have searchdir
method or not instead of the fs name in the searchdir function.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 20 Nov 2009 05:53:45 +0000 (13:53 +0800)]
EXTLINUX: simplify the ext2_fs_init function
And also simplified the ext2_sb_info structure.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 20 Nov 2009 05:08:42 +0000 (13:08 +0800)]
core:fs: Use a much better union structure in file structure
Remove the u1 and u2 union, and merge the related fileds as a group, and
then make a big union. Then we don't need to use u1 or u2 to reference
these fileds any more but use it directly just like there are no union
structures here:)
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Yuanhan Liu [Sun, 25 Oct 2009 08:32:03 +0000 (16:32 +0800)]
Added a generic path_lookup method in vfs
Well, for now, just applied to EXTLINUX. Here is the main change:
1) Add to union structure in file to make the older path_lookup method work.
2) Add a generic inode structure, to represent one file.
3) Add three more methods in fs_ops; they are:
iget_root, get the root inode of a fs
iget_current, get the 'pwd'
iget, do_open a file
4) Add a *TEMP* memory managemant system.
Signed-off-by: Yuanhan Liu <Aleaxander@gmail.com>
Yuanhan Liu [Tue, 20 Oct 2009 13:03:16 +0000 (21:03 +0800)]
Last code cleanup
I really hope it's thelast code cleanup:)
Signed-off-by: Yuanhan Liu <Yuanhan@localhost.localdomain>
H. Peter Anvin [Fri, 4 Sep 2009 23:15:37 +0000 (16:15 -0700)]
core: pxe: need to save/restore es around EFI CSM hack
Unlike in the Syslinux 3.x branch, we need to save/restore es around
the PXE EFI CSM localboot hack. This really should be moved to C,
anyway, at the same time USE_PXE_PROVIDED_STACK is finally killed off.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 4 Sep 2009 22:47:51 +0000 (15:47 -0700)]
Merge branch 'master' into fsc
H. Peter Anvin [Fri, 4 Sep 2009 22:46:43 +0000 (15:46 -0700)]
core: add missing calls to cleanup_hardware
As we're starting to rely more and more on a modified hardware state,
it is really important to clean up on all exit paths.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 4 Sep 2009 22:14:22 +0000 (15:14 -0700)]
Merge branch 'master' into fsc
Resolved Conflicts:
core/pxelinux.asm
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 4 Sep 2009 22:09:50 +0000 (15:09 -0700)]
pxelinux: workaround for EFI CSM bug - BEV stack overwrite on localboot
On at least some machines with an EFI-based BIOS, the Compatibility
Service Module (CSM) puts the BEV stack at an address where the boot
loader is likely to overwrite it. Implement a workaround which forces
INT 18h instead if an EFI signature is detected in memory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 4 Sep 2009 00:18:24 +0000 (17:18 -0700)]
core: pxe: don't confuse index and data when searching...
Don't confuse the index and data when searching the PCI ID table for
special idle handling.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 3 Sep 2009 05:48:57 +0000 (22:48 -0700)]
core: move the generated IDT stubs to a separate .gentext16 section
Move the generated IDT stubs to a separate section, .gentext16, so
that they aren't immediately adjacent to a piece of highly mutable
data.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 3 Sep 2009 05:28:38 +0000 (22:28 -0700)]
core: make sure __jiffies is aligned
__jiffies really wants to be aligned. We're not SMP, so technically
it will be atomic anyway. Still...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 3 Sep 2009 04:09:33 +0000 (21:09 -0700)]
core: pxe: create a single tftp_error() function, send ERROR on close
Create a single function to generate a TFTP error. We really should
be better about distinguishing different error conditions.
Send an ERROR packet if we're closing a file which still has an open
connection.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 3 Sep 2009 00:55:56 +0000 (17:55 -0700)]
core: use jiffies instead of BIOS_timer
Use jiffies instead of BIOS_timer. In 16-bit code we can use the low
16 bits of __jiffies when appropriate, since we have proper 2's
complement wraparound at all times.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 3 Sep 2009 00:44:32 +0000 (17:44 -0700)]
core: hook INT 1Ch for a simple monotonic timer
The BIOS_timer variable at 4C6h is somewhat unreliable... it is
documented to wrap at "midnight", norminally after 1627419 ticks
(0x18d51b), which is a rather awkward number to deal with modulo.
Instead, hook the INT 1Ch secondary timer interrupt and just count a
simple incrementing variable.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 3 Sep 2009 00:31:53 +0000 (17:31 -0700)]
core: merge cpuinit.inc into init.inc
The separation between cpuinit.inc and init.inc has never been very
clear, and it just made the code harder to read.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 3 Sep 2009 00:20:48 +0000 (17:20 -0700)]
core: pxe: fix the behavior on non-received RRQ reply
Fix the behavior when we don't immediately get a valid reply to an RRQ
packet. In particular, we would interpret what was previously in the
buffer as the requested data, whereas in general it hadn't even been
written to.
Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 2 Sep 2009 00:13:41 +0000 (17:13 -0700)]
core: pxe: use FAR_PTR() macro where appropriate
Use the FAR_PTR() macro to convert a pointer in lowmem to SEG:OFFS
format as unit.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 2 Sep 2009 00:08:52 +0000 (17:08 -0700)]
core: pxe: remove vestigial dnsresolv.inc
Remove dnsresolv.inc, which was already unused except for a couple of
buffer declarations. Move those buffers to regular C variables.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 1 Sep 2009 23:58:11 +0000 (16:58 -0700)]
core: pxe: port the PXE idle function to C
Port the PXE idle function to C; make the idle hook a protected-mode
call.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 1 Sep 2009 03:55:11 +0000 (20:55 -0700)]
core: drop any .eh_frame sections
We have no use of .eh_frames...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 1 Sep 2009 03:33:27 +0000 (20:33 -0700)]
Merge branch 'master' into fsc
H. Peter Anvin [Sun, 30 Aug 2009 16:46:45 +0000 (09:46 -0700)]
core: booleanize the return value from *_load_config()
The *_load_config() file is specific to each filesystem, and
documented to return 0 or 1. Make sure the return value actually is
zero or one.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Sun, 30 Aug 2009 22:22:26 +0000 (06:22 +0800)]
Core:pxelinux: fix the config file loading when we got a DHCP option
I knew what the DHCP option is now.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sun, 30 Aug 2009 21:51:38 +0000 (05:51 +0800)]
Core: get rid of passing com32sys_t structure as parameter in PMode
Well, this molstly be about xxx_load_config function, with function type changed.
The new load_config function will return 1 if failed, or 0 if successed.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sun, 30 Aug 2009 20:25:00 +0000 (04:25 +0800)]
Core:pxelinux: add %if IS_PXELINUX statement in extern.inc
Add this to avoid the compile error.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sat, 29 Aug 2009 23:05:58 +0000 (07:05 +0800)]
Core:pxelinux: code clean
Two main things:
1. Redeclare the varibales that are't needed by any asm files in C file.
2. Move the extern statements of PXELINUX into pxe.h, instead of in core.h
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sat, 29 Aug 2009 21:37:30 +0000 (05:37 +0800)]
Core:pxelinux: unload_pxe converted.
I found it's also better to convert the unload_pxe, but I am not sure I'm right.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sat, 29 Aug 2009 20:13:40 +0000 (04:13 +0800)]
Core:pxelinux: code clean--removes the unused variables in ASM file
And also converts some asm-variables to c-variables.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 28 Aug 2009 23:18:12 +0000 (07:18 +0800)]
Core:pxelinux: The pxe structures are all converted to standard structures.
converts the current pxe structures to standard structures; removes the old one in pxe.h.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 28 Aug 2009 14:55:52 +0000 (22:55 +0800)]
Core: code clean -- re-style the unstyle code
With the emacs config given by hpa, which is really powfull, I restyled the
unsytled code.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 28 Aug 2009 11:26:04 +0000 (19:26 +0800)]
Core:pxelinux: fix the probaly hang when use host
We shoud check the server if vaild or not; if not, move no until we run out
the time.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 28 Aug 2009 10:56:00 +0000 (18:56 +0800)]
Core: vfs-dir stuff cleaned
Removes the core/include/dir.h, and put the dir structures to sys/dirent.h to
avoid the compile error.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Fri, 28 Aug 2009 10:27:51 +0000 (18:27 +0800)]
Core: vfs-dir stuff re-implemented
We fist make it simple, as told by hpa. Here're the changes:
1, The DIR structure changed, just a file pointer included.
2. So, the open/close/read-dir stuff in com32/lib/ changed again.
3. We read one stuff from every readdir call.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Wed, 26 Aug 2009 23:37:44 +0000 (07:37 +0800)]
Core: opendir/readdir/closedir stuff added
Here're some big changes:
1. The vfs-dir stuff added.
2. The dir-functions in com32/lib are mostly rewritten.
3. with little change on rosh for avoid the compile error
Well, I don't think it's a good vfs-dir interface.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
H. Peter Anvin [Wed, 26 Aug 2009 04:19:26 +0000 (21:19 -0700)]
NEWS: update for 3.83
Aleaxander [Tue, 25 Aug 2009 21:32:38 +0000 (05:32 +0800)]
Core:pxelinux: fix the dns_resolv call reference in pxe.c
The current dns_resolv function doesn't update the _name_ string, so we should
use the strstr things to make the _p_ pointer to point to the right address we
want.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
H. Peter Anvin [Mon, 24 Aug 2009 23:32:48 +0000 (16:32 -0700)]
dnsresolv: compare returned name; "better" CNAME handling
Compare the returned name with the name we requested. Handle CNAMEs
by overwriting the requested name with the CNAME, however, we really
should:
a) rescan the packet from the beginning;
b) send a new request if we get no A record for the CNAME.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 24 Aug 2009 22:43:21 +0000 (15:43 -0700)]
dnsresolv: fix timeouts, clean up types
Fix timeouts: it was way too easy to make the code give up, which
often resulted in a zero response even if valid data would soon be
available.
Also avoid passing char ** when we don't really need it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 24 Aug 2009 22:41:30 +0000 (15:41 -0700)]
netinet/in.h: fix output types
We need casts not just on input but on output, in order to make sure
only the correct bits are visible.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Pierre-Alexandre Meyer [Sat, 22 Aug 2009 18:08:04 +0000 (11:08 -0700)]
hdt: enhance error reporting in the CLI (disk)
parse_partition_table can fail for two reasons: disk I/O
error or unrecognized partition layout (non msdos, corrupt, ...).
In the latter case, we were displaying
Error parsing disk 0x80
parse_partition_table: error 0
which is confusing. We now display
Disk 0x80: unrecognized partition layout
or the errno_disk in case of I/O errors.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
Pierre-Alexandre Meyer [Sat, 22 Aug 2009 17:34:40 +0000 (10:34 -0700)]
hdt: make get_error behaves like perror
This simplifies buffer handling.
Misc.: clean some old error code handling.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
Pierre-Alexandre Meyer [Sat, 22 Aug 2009 16:42:37 +0000 (09:42 -0700)]
hdt: fix CLI crash when parsing unsupported geometries
Remove extra free() calls: these were needed before the introduction
of the disklib errno. We apparently forgot to remove them.
Reported-by: Gert Hulselmans <hulselmansgert@gmail.com>
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
Liu Aleaxander [Fri, 21 Aug 2009 03:41:43 +0000 (11:41 +0800)]
Core:PXELINUX: dns_resolv problem resolved.
Now the dns_resolv program can work correctly now except sometimes you should add some
DNS servers manually by yourself if your current DNS server can not work, this mostly happen
when you use something like Qemu.
And, we added a host c32 module written by hpa, as a dns resolver test.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
erwan [Thu, 20 Aug 2009 04:24:16 +0000 (06:24 +0200)]
hdt: 0.3.4
Impact: New release
0.3.4 is now out !
Pierre-Alexandre Meyer [Thu, 20 Aug 2009 04:20:40 +0000 (21:20 -0700)]
hdt: fix disklib display
We currently display the first sector after the end of an extended.
Fix it (-1).
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
Pierre-Alexandre Meyer [Thu, 20 Aug 2009 04:12:57 +0000 (21:12 -0700)]
disklib: fix extended partition code
gert1 reported some issues using disklib with HDT. As it turned out, the
code that iterated through ebrs in an extended partition was broken: ebr offsets
need to be relative to the start of that partition.
Misc.: fix memory leak.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
Signed-off-by: Erwan Velu <erwan.velu@free.fr>
erwan [Wed, 19 Aug 2009 22:19:44 +0000 (00:19 +0200)]
hdt: Fixing memory corruption
Impact: Improve stability
In some case, sectors_to_size can return a 8 char long string like "1000
MiB". In such case, some buffer were corrupted.
This is now fixed by a size[9] instead of size[8].
erwan [Wed, 19 Aug 2009 21:50:50 +0000 (23:50 +0200)]
Merge branch 'master' of git://git./boot/syslinux/syslinux into origin/master
Erwan Velu [Wed, 19 Aug 2009 19:17:49 +0000 (21:17 +0200)]
Merge commit 'pam/disklib-fixes'
Liu Aleaxander [Wed, 19 Aug 2009 10:47:04 +0000 (18:47 +0800)]
Core:PXELINUX: dnsrelov.inc converted
The dnsrelov converted to C.
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
H. Peter Anvin [Tue, 18 Aug 2009 02:06:01 +0000 (19:06 -0700)]
MEMDISK: generate map files
Generate map files to make debugging less painful.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 17 Aug 2009 02:51:38 +0000 (19:51 -0700)]
memdisk: make the stack size configurable
Make it possible to configure the stack size on the command line,
so that we can rule that out in case of problems.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Mon, 17 Aug 2009 23:47:55 +0000 (07:47 +0800)]
Core:PXELINUX: improve the pxe_mangle_name in pxe.c
the old code has so many goto sentences and labels, so improve it and remove them
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
H. Peter Anvin [Mon, 17 Aug 2009 19:26:08 +0000 (12:26 -0700)]
menu: initialize cm (current menu) before empty check
The empty check in the menu system used "cm", but before "cm" had
actually been initialized. Move the "cm" initialization earlier so we
do the right thing here.
Reported-by: CKSoon <cksoon79@yahoo.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Mon, 17 Aug 2009 08:28:52 +0000 (16:28 +0800)]
Core: fat: make the file->file_len to store the dir sector number when we search a dir
Because the opendir function in com32/lib/opendir.c use the eax to store the
dir sector, where we store the file_len before. Well, we may need add a union
structure in the file structure to store the file_len for file, file_dir for
dir respecifictly
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sun, 16 Aug 2009 08:41:40 +0000 (16:41 +0800)]
Core: code clean
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
H. Peter Anvin [Sat, 15 Aug 2009 00:22:01 +0000 (17:22 -0700)]
Merge commit 'origin/master'
H. Peter Anvin [Fri, 14 Aug 2009 05:32:08 +0000 (22:32 -0700)]
core: kaboom.c: file missing from previous checkin
kaboom.c; necessary file missing from previous checkin.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 14 Aug 2009 05:31:13 +0000 (22:31 -0700)]
menu: fix Ctrl-W (word erase) when editing a command line
The Ctrl-W (word erase) key was broken: it would think the command
line got longer, not shorter, resulting in havoc.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 22:27:46 +0000 (15:27 -0700)]
Revert "Run Nindent on com32/include/pngconf.h"
This reverts commit
6361b71f87466877f8fd1273240e8fa4460f8d05.
<pngconf.h> is part of libpng, it should never have been Nindented.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 22:26:49 +0000 (15:26 -0700)]
Revert "Run Nindent on com32/include/png.h"
This reverts commit
ab7b6c3380cd9188edbc99693d5562dcca055317.
<png.h> is part of libpng and hence externally maintained; it should
not have been Nindented.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 04:51:54 +0000 (21:51 -0700)]
core: cleaner way to call kaboom from 32-bit code
Make kaboom() a noreturn function directly callable from 32-bit code.
Do a special macro hack to keep it from interfering with the symbol
kaboom in 16-bit code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 04:39:52 +0000 (21:39 -0700)]
netinet/in.h: add __constfunc to inlines
All the byte-swapping functions are true constfuncs...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 04:37:29 +0000 (21:37 -0700)]
netinet/in.h: put in explicit casts for all the hton/ntoh macros
For the macro versions of hton/ntoh, use casts everywhere.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 04:31:49 +0000 (21:31 -0700)]
core: use stpcpy() as generic_unmangle_name()
We can use stpcpy() as generic_unmangle_name(); this also gives us the
pointer to the end that the assembly code wants and expects.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 04:30:45 +0000 (21:30 -0700)]
iso9660: adjust to the new VFS
I missed converting iso9660 over to the new VFS. Do it now.
In particular, getfssec now takes a struct file *.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 04:23:10 +0000 (21:23 -0700)]
com32: remove strpcpy() - we already have stpcpy()
Remove strpcpy(); it is exactly the same thing as stpcpy() which we
already have, and which is more "standard" (in the sense that none of
these are actually standard...)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 03:56:46 +0000 (20:56 -0700)]
core: make FILENAME_MAX common; librarize mangle/unmangle
FILENAME_MAX was 2^8 in all variants by now; make it a common define.
Libraries mangle/unmangle; we have generic_mangle_name for Unix-like
filesystems, and unmangle now defaults to simple strcpy.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 13 Aug 2009 03:23:47 +0000 (20:23 -0700)]
core: more filesystem-specific files into subdirectories
Preemptively move filesystem-specific files into core/fs/<fsname> so
we can start trying to pretend to be organized.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 12 Aug 2009 00:25:43 +0000 (17:25 -0700)]
core: VFS cleanups: add a persistent generic struct file
Major cleanups to the VFS layer:
- add a persistent generic "struct file"
- pass "struct file *" to getfssec
- add a close_file method
- use VFS-assigned indicies instead of pointers as file handles.
This allows the file structures to be allocated from high memory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 11 Aug 2009 20:20:04 +0000 (13:20 -0700)]
Merge commit 'liu/master' into fsc
H. Peter Anvin [Tue, 11 Aug 2009 20:17:27 +0000 (13:17 -0700)]
pxe: more tweaks to the open (searchdir) routine
More tweaks to the open (searchdir) routine, in particular in the OACK
packet parsing. From testing it appears substantially more robust
now.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 11 Aug 2009 20:16:13 +0000 (13:16 -0700)]
netinet/in.h: adjust hton/ntoh macros to be true constants
Tweak the hton/ntoh macros so that they are true constants if the
input is a constant expression; this makes them usable in the
preprocessor.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 11 Aug 2009 18:49:04 +0000 (11:49 -0700)]
pxe: clean up C code; reimplement "Plan C"; share PXE API definitions
Minor cleanups to the C code.
Reimplement "Plan C" for finding the entry point.
Share the PXE API definitions between com32 and the core.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Tue, 11 Aug 2009 09:18:38 +0000 (17:18 +0800)]
Core:SYSLINUX: make searchdir do work
well, still get lots of bugs, like when we execute
dir /boot/syslinux
in fact, it will list the file in /boot/ directory but not in /boot/syslinux/
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Tue, 11 Aug 2009 06:16:23 +0000 (14:16 +0800)]
Core:SYSLINUX: fix the vfat_searchdir
This makes the searchdir can find a dir; it's also prepared for the readdir function used in rosh
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
H. Peter Anvin [Tue, 11 Aug 2009 00:30:25 +0000 (17:30 -0700)]
core: remove assembly definition of Files in iso/pxelinux
Remove the assembly definition of Files in isolinux and pxelinux.
Still to do: remove dependencies on Files living in .bss16 space.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 23:56:06 +0000 (16:56 -0700)]
MCONFIG: update GCCOPT
Add -fwrapv, -freg-struct-return, -fno-exceptions,
-fno-asynchronous-unwind-tables, -fno-strict-aliasing.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 23:45:44 +0000 (16:45 -0700)]
core: add missing (void), drop casts for Files[], cleanups
Add missing (void) on no-argument functions, drop casts for Files
(it's now a properly typed array), clean up loop forms.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 23:42:53 +0000 (16:42 -0700)]
ext2: fix missing (void), use standard form for loop
Use the standard form for a for loop; add missing (void).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 23:39:29 +0000 (16:39 -0700)]
Merge commit 'liu/master'; fix Files[] definition
Resolved Conflicts:
core/extlinux.asm
core/ldlinux.asm
Merge in liu's changes, but fix Files[] to be a private structure
inside the filesystem, thus we don't have to worry about the
size of it in the assembly code at all.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 21:27:21 +0000 (14:27 -0700)]
core/diskstart.inc: make the root filesystem a configurable
Instead of using conditional compilation, just set the root filesystem
type in the assembly stub.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 18:18:12 +0000 (11:18 -0700)]
zlib: remove unused sample programs
Remove unused sample programs (example.c, minigzip.c); we don' tuse
them and they are just noise.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 10 Aug 2009 02:47:24 +0000 (19:47 -0700)]
core: merge ldlinux.asm and extlinux.asm
ldlinux.asm and extlinux.asm are by now extremely similar. Merge
them.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 9 Aug 2009 22:52:26 +0000 (15:52 -0700)]
zlib: kill gzio.c
Remove gzio.c, which is a zlib-specific stdio-like interface. We
implement this in the actual filesystem layer, which is much cleaner.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 9 Aug 2009 21:44:34 +0000 (14:44 -0700)]
Merge branch 'core32' into fsc
H. Peter Anvin [Sun, 9 Aug 2009 21:42:50 +0000 (14:42 -0700)]
core: remove hack for dynamic symbol table generation
Kill hack we used to generate a dynamic symbol table. There is a much
better technique for doing this which is already deployed on the
"dynamic" branch.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Liu Aleaxander [Sun, 9 Aug 2009 07:00:48 +0000 (15:00 +0800)]
Core:pxelinux: improves the tftp options parsing
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
Liu Aleaxander [Sun, 9 Aug 2009 06:54:08 +0000 (14:54 +0800)]
pxe: fix OACK packet handling
The current code only works iff the tsize option is set.
This patch fixes the handling of the OACK packet and makes the code
work with all combinations of the tsize and blksize options.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
H. Peter Anvin [Sun, 9 Aug 2009 01:48:35 +0000 (18:48 -0700)]
Merge branch 'master' into core32
Liu Aleaxander [Sat, 8 Aug 2009 09:49:48 +0000 (17:49 +0800)]
Core: code-clean
removes the unused variables and functions
Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
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>