H. Peter Anvin [Tue, 26 Apr 2011 03:23:08 +0000 (20:23 -0700)]
Merge remote-tracking branch 'origin/master' into lwip
Resolved Conflicts:
NEWS
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 26 Apr 2011 03:18:07 +0000 (20:18 -0700)]
isolinux: remove broken and obsolete open_file_t
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 26 Apr 2011 03:16:07 +0000 (20:16 -0700)]
isolinux: remove .img file support
Remove disk image support from ISOLINUX. Very few BIOSes support this
call correctly, and it is likely to have been broken for a very long
time anyway.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 26 Apr 2011 00:30:59 +0000 (17:30 -0700)]
pxe: remove non-lwIP definition of DNS_MAX_SERVERS
There is only need for one definition of DNS_MAX_SERVERS, and it needs
to be the one in lwIP, so use it everywhere.
Furthermore, there is no longer any need for us to define
DNS_MAX_PACKET.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 26 Apr 2011 00:19:32 +0000 (17:19 -0700)]
Merge remote-tracking branch 'origin/master' into lwip
Resolved Conflicts:
com32/include/netinet/in.h
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 26 Apr 2011 00:15:40 +0000 (17:15 -0700)]
com32: inet_ntoa() takes struct in_addr
The standard definition for inet_ntoa() is to take struct in_addr, and
not doing that causes a conflict on the lwip branch.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 26 Apr 2011 00:00:22 +0000 (17:00 -0700)]
hdt: remove set-but-unused variable
Remove a set but unused variable in HDT, which prevents building with
gcc 4.6. This is probably a bug; presumably the active flag should be
presented to the user, too.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 23:47:09 +0000 (16:47 -0700)]
core: remove the .hugebss section
There are no more users of the .hugebss section, so remove it from
existence.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 23:45:50 +0000 (16:45 -0700)]
core, diskio: allocate the disk cache from the heap
Since network buffers are allocated from the heap, and the heap is now
dynamically sized, it makes sense we allocate the disk cache here,
too.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 23:37:24 +0000 (16:37 -0700)]
core: dynamically size the heap
Dynamically size the heap to 1/16 of available high memory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 23:36:36 +0000 (16:36 -0700)]
core: layout.inc: remove duplicate .stack segment definition
.stack was redefined for unknown reasons. This is not present in the
master branch.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 22:24:33 +0000 (15:24 -0700)]
Merge remote-tracking branch 'sherbszt/gfxboot32'
Steffen Winterfeldt [Tue, 19 Apr 2011 13:27:26 +0000 (15:27 +0200)]
gfxboot: pass current working dir to gfxboot core
Pass current working dir to (and back from) gfxboot core via gfx_config
struct. This way I can implement a chdir() in the gfxboot core without
the need for additional 16-bit comboot calls. gfxboot may change the
directory, so you have to read and apply the current setting in boot() (to
read kernel etc. from right location).
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
H. Peter Anvin [Mon, 25 Apr 2011 21:34:30 +0000 (14:34 -0700)]
Merge remote-tracking branch 'hdt/master'
H. Peter Anvin [Mon, 25 Apr 2011 21:32:08 +0000 (14:32 -0700)]
diag/geodsp: zero-fill sectors in -1 mode
In -1 mode, zero-fill the sector instead of writing whatever garbage
was in the buffer already.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 21:27:28 +0000 (14:27 -0700)]
diag/geodsp: fix ordering of args to fread/fwrite in mk-lba-img
If we want the return value to be in bytes, make sure we pass the byte
count in the nmemb field instead of the size field.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 19:39:08 +0000 (12:39 -0700)]
diag/geodsp: Avoid large intermediate files
Allow the generation program mk-lba-img to merge the prefix file and
output to stdout, so it can be fed directly to the compressor; that
way we avoid generating huge intermediate files on disk.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 19:22:21 +0000 (12:22 -0700)]
ppmtolss16: remove obsolete Perl construct
defined() on an array is considered obsolete; instead check for a
nonzero number of elements with scalar().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 18:46:56 +0000 (11:46 -0700)]
PXE Cleanups, allow for 128 open files
Clean up dead code in the PXE stack.
The buffer assignment no longer limits the number of open files
either, so raise it to something more than reasonable.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 04:09:14 +0000 (21:09 -0700)]
NEWS: document FTP
H. Peter Anvin [Mon, 25 Apr 2011 03:55:47 +0000 (20:55 -0700)]
pxe: use a separate poll thread instead of using an idle thread hook
The idle thread can never sleep, so it's not really safe to do
anything inside it. Instead, run a separate poll thread at low
priority; we can also do that to poll the serial console if needed.
Overall, the "classic" Syslinux idle handling really should go away
and be replaced by the idle thread.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Apr 2011 03:53:12 +0000 (20:53 -0700)]
idle.c: remove -*- fundamental -*- tag
This is a normal C file, no reason for a -*- fundamental -*- tag as
used in NASM source code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 22:40:01 +0000 (15:40 -0700)]
pxe, tftp: unbreak the TFTP state machine
Some of the code motion had broken the TFTP state machine, make it
work properly again. Furthermore, remove some no longer necessary
fields in the pxe inode structure.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 22:16:23 +0000 (15:16 -0700)]
pxe, tftp: let lwIP manage port numbers
lwIP needs to manage port numbers for TCP and for DNS, so just let it
do it for TFTP as well.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 22:15:07 +0000 (15:15 -0700)]
pxe, ftp: remove a bogus include
Remove an include of a header file which never actually existed.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 22:05:15 +0000 (15:05 -0700)]
pxe: make lwip use IANA-blessed local port numbers
Make lwip use the IANA-blessed local port numbers 49152 and higher.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 21:51:31 +0000 (14:51 -0700)]
pxe: allow an empty input to dns_resolv()
If dns_resolv() gets an empty input, just return failure.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 21:42:56 +0000 (14:42 -0700)]
pxe: continue to bounce URLs with unknown schemes to gPXE
If we're running on top of a gPXE/iPXE stack, and get a URL we don't
know, continue to bounce it to gPXE. It isn't entirely clear how well
this will actually work with an UNDI-based network stack, however...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 21:02:39 +0000 (14:02 -0700)]
pxe: make url_set_ip() static
url_set_ip() is now only used in one place, so make it static.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 20:59:18 +0000 (13:59 -0700)]
pxe: move redirect processing to the URL-parsing level
Move redirect processing out of the HTTP code and into the top
URL-processing level. This both makes the code simpler and also deals
with absurdities like HTTP redirecting to an FTP URL (which is legal.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 20:49:30 +0000 (13:49 -0700)]
pxe: add support for FTP
Add support for the FTP protocol.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 20:48:17 +0000 (13:48 -0700)]
pxe: tcp: close the connection before freeing the buffers
As long as the connection is opened, we may end up receiving data, so
don't free the receive buffers until after the connection is closed.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 20:47:14 +0000 (13:47 -0700)]
pxe: more verbose lwIP asserts
If we're going to bother compiling in the lwIP asserts, then make them
a bit more useful in terms of the message delivered. This may be
worth tweaking further to make a smaller footprint.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 20:46:45 +0000 (13:46 -0700)]
urlparse: fix url_unescape()
Fix double pointer advacing in url_unescape().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 19:44:31 +0000 (12:44 -0700)]
pxe: tcp: always call the close method
Always call the designated close method, instead of assuming it is
tcp_close_file(). This isn't the case for FTP, which also needs to
manage the control connection.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Steffen Winterfeldt [Tue, 19 Apr 2011 13:27:26 +0000 (15:27 +0200)]
gfxboot: handle INITRD config line
Handle case where there is no initrd= option but a separate initrd config line.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
H. Peter Anvin [Sun, 24 Apr 2011 04:04:58 +0000 (21:04 -0700)]
pxe: make tftp_pktbuf a dynamic buffer
We don't need tftp_pktbuf for the TCP-based protocols, so allocate it
on demand. It should be possible to get rid of it for TFTP as well.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 24 Apr 2011 03:48:42 +0000 (20:48 -0700)]
pxe: move operations common to TCP-based protocols to a common file
Move operations that are common to all TCP-based protocols into a
common file, tcp.c.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 23 Apr 2011 23:04:00 +0000 (16:04 -0700)]
pxe: use the unified URL parsing framework
Use the unified URL parsing framework for TFTP and HTTP. This should
also make it easier to add new protocols (e.g. FTP) in the near
future.
Note that HTTP redirects are still handled wrong: they really should
be sent all the way back to the top of URL parsing; there are sites in
the field which redirect to FTP URLs, for example.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 23 Apr 2011 20:46:54 +0000 (13:46 -0700)]
pxe: urlparse: add comments
Add comments to the URL parser functions.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 23 Apr 2011 20:35:51 +0000 (13:35 -0700)]
pxe: Add a much more general URL-parsing framework
Add a URL-parsing framework that we can use for multiple protocols.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Sebastian Herbszt [Sat, 23 Apr 2011 10:18:21 +0000 (12:18 +0200)]
thread: free curr->rmstack
Free curr->rmstack instead of double free of curr->stack.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 23 Apr 2011 02:35:36 +0000 (19:35 -0700)]
pxe: put a semaphore around PXE calls
Make sure we can't accidentally invoke the PXE stack from multiple
threads (except for the ISR, which presumably has to allow for
reentrancy, since the spec implies the ISR can be invoked from inside
the PXE stack strategy routine.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 23 Apr 2011 02:29:09 +0000 (19:29 -0700)]
thread: free(NULL) is safe, lmalloc() always return para-aligned
free(NULL) is safe and permitted, no reason to conditionalize calling
free().
lmalloc() will always return a paragraph-aligned memory block, so we
don't have to play games with the offset.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 22 Apr 2011 22:57:33 +0000 (15:57 -0700)]
lwip: handle UNDI stacks which need to be polled
If the UNDI stack reports either IRQ 0 or does NOT report the NDIS IRQ
supported flag, then poll the interrupt routine from the idle thread
instead.
This is somewhat limited; we really should have a chain of idle poll
routines to support things like serial console.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Fri, 22 Apr 2011 05:16:14 +0000 (22:16 -0700)]
thread: thread-switch the real-mode stack, too
When this code was originally written, we didn't have lmalloc(). Now
when lmalloc() is implemented, let each real-mode task have its own
stack.
Note that this means we absolutely have to continue to support the
SS != CS, DS model in the real-mode code, which should already be the
case, but...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 22 Apr 2011 04:36:34 +0000 (21:36 -0700)]
NEWS: document lwIP
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 22 Apr 2011 04:33:23 +0000 (21:33 -0700)]
version: call this branch 4.10
A totally different network stack is definitely grounds for calling it
4.10 instead of 4.0x...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 22 Apr 2011 04:32:41 +0000 (21:32 -0700)]
Merge branch 'master' into lwip-threads
H. Peter Anvin [Fri, 22 Apr 2011 04:32:01 +0000 (21:32 -0700)]
version: now working on version 4.05
4.04 is out, next version will be 4.05 (or later).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 22 Apr 2011 04:24:33 +0000 (21:24 -0700)]
pxe: isr: fix formatting
Fix code formatting.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 22 Apr 2011 04:23:54 +0000 (21:23 -0700)]
pxe: fix gcc 4.6 problems
Remove unused variables, which give gcc 4.6 problems.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Erwan Velu [Thu, 21 Apr 2011 19:47:57 +0000 (21:47 +0200)]
hdt: Final release 0.5.0
Thanks for all who participe in this release.
Erwan Velu [Thu, 21 Apr 2011 19:43:54 +0000 (21:43 +0200)]
hdt: Using dashed instead of . into label name
When generating floppy images some version of mtools (< 4.0.14) are
buggy and generate incorrect labels. So using > 4.0.13 is recommended.
Anyway, let's use _ into the volume name, that cleaner :
We now have
disk label="HDT_0_5_0_B"
instead of
disk label="HDT_0~5~0-B"
Erwan Velu [Wed, 20 Apr 2011 19:06:14 +0000 (21:06 +0200)]
hdt: Fixing ACPI display
Some screenshots shows that we have some troubles for aligning items.
This is now fixed.
Erwan Velu [Wed, 20 Apr 2011 18:44:29 +0000 (20:44 +0200)]
hdt: New release beta5
Erwan Velu [Wed, 20 Apr 2011 18:21:21 +0000 (20:21 +0200)]
libupload: Adding tftp.h missing file
Oups, this while wasn't commited :/
Erwan Velu [Wed, 20 Apr 2011 18:20:22 +0000 (20:20 +0200)]
hdt: Showing specific message for auto mode
That's a nice info to know that some output were generated by the
automatic mode.
Erwan Velu [Wed, 20 Apr 2011 18:14:45 +0000 (20:14 +0200)]
hdt: Removing useless printf in dump mode
This message was clearly boring to read ;o)
Erwan Velu [Wed, 20 Apr 2011 18:12:24 +0000 (20:12 +0200)]
libupload: Fixing tftp return value
The default return value for the tftp mode.
This made the tftp to return error even if the upload was succesful.
Erwan Velu [Tue, 19 Apr 2011 18:23:20 +0000 (20:23 +0200)]
hdt: New release Beta4
Erwan Velu [Tue, 19 Apr 2011 18:05:35 +0000 (20:05 +0200)]
hdt: Adding dump mode on pre-built images
As we now have a dump mode, let's add an entry in our menu for that.
Erwan Velu [Tue, 19 Apr 2011 18:00:46 +0000 (20:00 +0200)]
hdt: Preventing dump mode if no PXE config
Dump mode can only work if PXE is present.
H. Peter Anvin [Mon, 18 Apr 2011 21:53:45 +0000 (14:53 -0700)]
Merge commit 'syslinux-4.04' into dynamic-sector
H. Peter Anvin [Mon, 18 Apr 2011 21:24:17 +0000 (14:24 -0700)]
spec: Use BuildRequires, add diag/ subdirectory
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 18 Apr 2011 21:12:58 +0000 (14:12 -0700)]
diag: Don't remove BTARGET on make clean
"make clean" should not remove BTARGET
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Erwan Velu [Mon, 18 Apr 2011 21:12:22 +0000 (23:12 +0200)]
Merge branch 'master' of git://git./boot/syslinux/syslinux
H. Peter Anvin [Mon, 18 Apr 2011 21:11:26 +0000 (14:11 -0700)]
Merge remote-tracking branch 'pcacjr/syslinux-update-for-hpa'
Erwan Velu [Mon, 18 Apr 2011 21:08:21 +0000 (23:08 +0200)]
hdt: Reporting TFTP errors in dump mode
If we get some errors from the tftp, let's report it to the user.
This will make user's life easier to understand why the dumping mode
isn't working.
Erwan Velu [Mon, 18 Apr 2011 21:07:39 +0000 (23:07 +0200)]
libupload: Implementing error code on tftp
When using the tftp backend, let's return the errors we got on the
server.
H. Peter Anvin [Mon, 18 Apr 2011 21:06:54 +0000 (14:06 -0700)]
menu: allow "menu hiddenkey" to take multiple keys; run unlabel
- Allow "menu hiddenkey" to take a comma-separated list of keys.
- Run unlabel() on the commands passed to menu hiddenkey.
XXX: Consider moving unlabelling to post-menu instead.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Erwan Velu [Mon, 18 Apr 2011 20:37:15 +0000 (22:37 +0200)]
hdt: Fixing automatic mode parsing
Parsing of the auto='' mode was weak an non functionnal in many
configuration like
auto='dump'
This is now fixed.
H. Peter Anvin [Mon, 18 Apr 2011 20:53:19 +0000 (13:53 -0700)]
NEWS: Document MENU HIDDENKEY
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Erwan Velu [Mon, 18 Apr 2011 19:07:33 +0000 (21:07 +0200)]
libupload: Fixing memset call
We have to use the size of the element, not the size of the pointer.
Erwan Velu [Sun, 17 Apr 2011 17:44:21 +0000 (19:44 +0200)]
hdt: New release 0.5.0-beta3
Erwan Velu [Sat, 16 Apr 2011 18:34:40 +0000 (20:34 +0200)]
cpuid: Using generic model if cyrix id is unknown
When using the specific Cyrix call to determine the model, if the model
is unknown, let's consider the generic call was right.
This insure a better display of the model id.
Erwan Velu [Sat, 16 Apr 2011 06:06:01 +0000 (08:06 +0200)]
cpuid: Improving Cyrix/NSC detection
This code add the specific detection code for Cyrix/NSC processor.
Code came from the Linux kernel.
Erwan Velu [Fri, 15 Apr 2011 19:26:52 +0000 (21:26 +0200)]
hdt: Fixing buffer corruption in PXE menu
Jim Cromie reported that PXE menu behave like :
gPXE Detected: ]No
This commit avoid this buffer corruption.
Paulo Alcantara [Fri, 15 Apr 2011 18:28:31 +0000 (15:28 -0300)]
syslinux: check --update option properly
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
Paulo Alcantara [Fri, 15 Apr 2011 18:21:10 +0000 (15:21 -0300)]
extlinux: remove already_installed
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
Paulo Alcantara [Fri, 15 Apr 2011 18:13:54 +0000 (15:13 -0300)]
extlinux: use syslinux_already_installed instead of already_installed
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
Paulo Alcantara [Fri, 15 Apr 2011 17:55:29 +0000 (14:55 -0300)]
libinstaller: implement syslinux_already_installed
syslinux_already_installed function will be used in both extlinux and
syslinux for checking if the boot sector has either the string
"SYSLINUX" or "EXTLINUX" in the OEMID field.
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
Erwan Velu [Thu, 14 Apr 2011 18:58:05 +0000 (20:58 +0200)]
cpuid: Managing UNKNOWN CPU better
It's safe to manage the unknown cpu as a regular one. This will avoid
weird behavior when CPU isn't well detected.
Erwan Velu [Wed, 13 Apr 2011 19:13:37 +0000 (21:13 +0200)]
hdt: Changing boot flag semantic in menu mode
What we report is the presence of the boot flag and not the ability of a
partition to be bootable. A partition can have a valid bootloader with a
boot flag not set. So the 'Bootable' semantic was wrong.
Jim Cromie [Wed, 13 Apr 2011 19:03:58 +0000 (21:03 +0200)]
cpuid: add cpuid info for "Geode by NSC"
Without this, cpu_detect(), and set_generic_info() would take 416
seconds on a soekris 4801 and hdt would report ?????????? as the
processor vendor.
Jim Cromie [Wed, 13 Apr 2011 18:57:31 +0000 (20:57 +0200)]
hdt: fix precedence problem in double-space check
Erwan Velu [Wed, 13 Apr 2011 18:42:38 +0000 (20:42 +0200)]
hdt: Display non-sequentials disks configurations
If the location of the disks wasn't sequential on the system, the menu
mode was missing some.
This commit fix ticket #46.
Thanks gerth for reporting.
Erwan Velu [Wed, 13 Apr 2011 17:33:27 +0000 (19:33 +0200)]
hdt: Adding chain.c32 to pre-built images
This got a requirement from some users.
Eric W. Biederman [Tue, 12 Apr 2011 21:31:34 +0000 (14:31 -0700)]
undiif: Unneeded debugging functions.
Committing so I have these somewhere in case I need them again.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 11:54:53 +0000 (04:54 -0700)]
pxe: Neuter pxe_idle_init
The previous pxe_idle_init no longer makes sense as we are no
longer using the udp core of the pxe stack. So gut pxe_idle_init.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 11:38:21 +0000 (04:38 -0700)]
pxe: Cleanup interrupt handling making it reliabe and in spec
- Rework pm_return into pxe_poll_wakeups and use the new
sched_hook_funk to call it from schedule. That is a
little extra work but it is always correct to do.
- Unconditionally call schedule from the pm_core_hook.
schedule now does everything pm_return used to do
if perhaps in a more braindead way so this is correct
and safe.
- Declare undiif_input in pxe.h
- Stop exporting pxe_poll. Having it exported helped
me track down what was going on but it was the wrong
way to do things and exporting it is no longer needed.
- Rename pxe_poll pxe_process_irq for clarity.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 11:28:32 +0000 (04:28 -0700)]
core: thread: Implement polling for wakeups.
For some reason the core_pm_hook is not getting called
every time we get an interrupt with the result that
in some situations like arping for our neighbours mac
address or a tftp transfer we can stall, we never move
forward again.
The reason for those stalls likely bears more investigating
but for now it is sufficient for me to know that they exist
and that I can work around them by polling for wakekup
conditions everytime we call schedule. That gives us code
that works reliably and stays within the letter of the
pxe spec. The oddities of the pxelinux core can be ironed
out later.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 07:50:04 +0000 (00:50 -0700)]
undiif: Theoretical support for infiniband.
Sync up the maximum address length between pxe.h and netif.h
and assert if they are different.
PXEENV_UNDI_GET_INFORMATION only returns a 16 hardware
address field, and infiniband has a 20 byte hardware address
so use MAC provided by pxe.c instead which is already set
to the proper 20 byte hardware address.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 07:14:12 +0000 (00:14 -0700)]
pxe: Remove the lwip_test code
lwip works so we no longer need this test code.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 07:05:58 +0000 (00:05 -0700)]
lwip: Clean up the initialization sequence
Implement an initialization sequence for lwip that is essentially
sane, and remove the previous udp stack support.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 06:37:03 +0000 (23:37 -0700)]
lwip: Allow up to 20 byte hardware address to support infiniband.
Infiniband has a positively crazy mapping of ip to it's infiniband
form, and that crazy mapping leads to a 20 byte hardware address
used for ip (despite really only having a 8 byte hardware address).
Infiniband routers such a crazy idea.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 06:30:45 +0000 (23:30 -0700)]
lwip: Update the undi driver so it handles (in theory) all network types supported by undi
This involves on transmmit using theundi protocol types and letting
the undi layer put on the link level header, On receive this
involves using the undi parsing of the link level header and generation
of the link level type. This involves cloning etharp into undi.c
so we have our own set of arp functions that don't care how long
your hardware address is.
Using ethernet link layer frames directly removes a number of weird
limmitations so I do that by default when I know I am on ethernet
but that is not necessary, and a quick hack to change
undi_is_ethernet to always return false show that this code works
on whatever flavor of network adapter you have.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 06:02:11 +0000 (23:02 -0700)]
core: pxe: Cleanup properly when using undi.
Unhook the interrupt handler and stop the undi processing to
make it save to exit, and allows unload_pxe to start succeeding
again.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Tue, 12 Apr 2011 05:47:31 +0000 (22:47 -0700)]
core: pxe: Improve the situation with installing and uninstalling irq handlers
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman [Mon, 11 Apr 2011 11:25:23 +0000 (04:25 -0700)]
lwip: Explicitly enable udp,tcp,icmp, and receive timeouts.
Of the group receive timeouts are the most important as we
need those working so that tftp transfers that will actually
get back to the tftp code.
Icmp is nice so that we can test the latency to the machine
running syslinux why syslinux is downloading a file. Allowing
us to confirm to test for excessive buffering on the network
increasing the round trip times. Plus it is just nice to
be able to ping a machine and know it is there.
udp and tcp were already implicitly enabled so explicitly
enabling them is no big deal.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>