[syslinux] Syslinux-5.10-pre1

Matt Fleming matt at console-pimps.org
Thu Mar 7 02:04:54 PST 2013


Folks,

I've just released the first prelease for the 5.10 series. The intention
is to leave 5.02-pre3 where it is and move to 5.10-pre1. The only
difference between 5.02-pre3 and 5.10-pre1 is the merge of the lwip
branch (and a single commit to fixup the -DDEBUG=2 build), which
warranted a bump in the version minor number. See the shortlog below for
details of the differences between 5.02-pre3 and 5.10-pre1.

I don't expect people to be crying out for a 5.02 final release, but if
that is something that people want we can always do it retroactively at
any time. That isn't a problem.

With Syslinux-5.10-pre1 we've now got two network stacks; the old legacy
stack which is a very thin layer around the PXE interface, and the new
lwIP TCP/IP stack. The easiest way to include both of these stacks in
Syslinux was to build two separate .0 files, pxelinux.0 for the legacy
stack and lpxelinux.0 for the lwIP stack. Note there are no plans to
make the new http/ftp code work with the legacy stack, it's mainly being
kept around as a known reference point for when bugs are suspected in
lpxelinux.0 and because it is known to work with some rather quirky PXE
implementations.

---

Eric W. Biederman (51):
      core: Makefile don't worry about how deep the files are
      lwip: Import lwip version 1.3.2
      lwip: Delete the ipv6 support and the tests.
      lwip: Minimal configuration to get lwip building in syslinux
      core: declare jiffies_t and mstime_t and use them.
      core: thread:  Add a global errno variable to support lwip
      core thread: Rename timeouts pvt to better reflect it's use.
      core: Move kaboom into it's own header.
      lwip: Use kaboom.h
      core: Move timer functions into timer.h
      core thread: Don't include core.h from thread.h
      core: Make the core malloc and free thread safe.
      lwip:  Enable thread support
      core: pxe: pm_return Use jiffies_t
      pxe: Statically initialize pxe_receive_thread_sem
      pxe: Add methods to abstract out the connection type.
      pxe: Move the tftp implementation into it's own file
      pxe: Move the gpxe url reading code into it's own file.
      pxe: hook up the interrupt routine and the lwip receive routine
      core thread: Make the code a little clearer.
      core: pxeisr.inc: The name of the globals is pxe_irq_vector not pxe_irq_num
      core pxe: Switch threads if more than one runnable.
      core pxe: Ensure all parameters in pxe_get_cached_info are initialized.
      lwip:  In mem.h define mem_realloc as static inline
      lwip: Disable lwip's malloc routines
      undiif: Fix weird include order madness.
      core pxe: Cleanup the call to pxe_isr_init
      core: factor out byteswap.h from netinet/in.h
      lwip: Use byteswap.h to define htons and friends
      pxe: Send tftp acks after we reach our timeout
      core pxe: Use the lwip dns resolver
      core: pxe: Add a netconn socket to the pxe private inode
      core: pxe: Rewrite the tftp implementation to use lwip
      core: pxe: Factor out pxe_poll from pxe_receive_thread
      core: Add isspace to ctype.h
      lwip: Rename mem_init lwip_mem_init to remove a namespace conflict.
      lwip:  Tune memory management for performance
      core: pxe: Add general support for pluggable url handlers.
      core: pxe Add native support for http urls
      lwip:  Explicitly enable udp,tcp,icmp, and receive timeouts.
      core: pxe:  Improve the situation with installing and uninstalling irq handlers
      core: pxe: Cleanup properly when using undi.
      lwip: Update the undi driver so it handles (in theory) all network types supported by undi
      lwip: Allow up to 20 byte hardware address to support infiniband.
      lwip: Clean up the initialization sequence
      pxe: Remove the lwip_test code
      undiif: Theoretical support for infiniband.
      core: thread: Implement polling for wakeups.
      pxe: Cleanup interrupt handling making it reliabe and in spec
      pxe: Neuter pxe_idle_init
      undiif: Unneeded debugging functions.

Gene Cumm (13):
      lwip: undiif: Fix #error typo
      lwip: undiif: Fix debug option addressing in update_arp_entry()
      lwip:undiif: Use tcpip_input() rather than ethernet_input()/ip_input()
      lwip:undiif: Add interface with tcpip_input() callback
      cptime.c32: Simple module to test download rates
      prdhcp.c32: Print DHCP packets
      cptime.c32: Move to modules; include in Makefile
      cptime.txt: AsciiDoc manpage for cptime.c32
      prdhcp.c32: Add to Makefile
      prdhcp.c32: Fix what is retrieved.
      core/lwip: update to lwIP-1.4.0
      core/pxe: lwip changes to netconn_recv
      core/pxe: lwip  semaphore changes

H. Peter Anvin (159):
      stddef.h: add container_of()
      core: simple thread library
      core: thread: have start_thread() allocate memory dynamically
      core: thread: add option to not wait on a semaphore at all
      core: add simple mailbox library
      core: thread: merge mbox_post() and mbox_trypost()
      core: thread: move most thread state to stack; task switch errno
      core: thread: add a "timeouts" pointer to the thread structure
      thread: add support for locking the scheduler
      core: thread: add static declaration of semaphores
      core: thread: add a name field
      core: pxe: real-mode interrupt service routine
      core: add a way to invoke a function on return to protmode
      core: pxe: pm return hook to examine timer ticks and PXE ISR status
      core: pxeisr.inc: fix compatibility with older versions of NASM
      core: add .stack to layout.inc so it gets the proper flags
      core: add .stack16 to layout.inc
      lwip: undiif - initial cut at a UNDI Ethernet-only driver
      lwip: fix conflict with <netinet/in.h>
      pxe: lwip: update data pointer after getting a secondary fragment
      pxe: lwip: busy-wait if transmit is blocked for buffers
      core: pxe: don't switch to the PXE stack if we're on it...
      core: thread: return 0 from sem_down() if we didn't have to wait
      core: pxe: additional work on the lwip port
      lwip: Allow clearing a dns server
      lwip: now to the point we can make a TCP connection...
      lwip: better test case
      core: lwip: tune parameters for performance
      Make sure TCP_WND is < 64K-TCP_MSS
      lwip: better speed test
      core: lwipopts: additional fine-tuning
      lwip: fix timestamps, statistics functions
      lwip: show stats when displaying speedtest results
      pxe: fix gcc 4.6 problems
      pxe: isr: fix formatting
      Merge branch 'master' into lwip-threads
      version: call this branch 4.10
      NEWS: document lwIP
      thread: thread-switch the real-mode stack, too
      lwip: handle UNDI stacks which need to be polled
      thread: free(NULL) is safe, lmalloc() always return para-aligned
      pxe: put a semaphore around PXE calls
      pxe: Add a much more general URL-parsing framework
      pxe: urlparse: add comments
      pxe: use the unified URL parsing framework
      pxe: move operations common to TCP-based protocols to a common file
      pxe: make tftp_pktbuf a dynamic buffer
      pxe: tcp: always call the close method
      urlparse: fix url_unescape()
      pxe: more verbose lwIP asserts
      pxe: tcp: close the connection before freeing the buffers
      pxe: add support for FTP
      pxe: move redirect processing to the URL-parsing level
      pxe: make url_set_ip() static
      pxe: continue to bounce URLs with unknown schemes to gPXE
      pxe: allow an empty input to dns_resolv()
      pxe: make lwip use IANA-blessed local port numbers
      pxe, ftp: remove a bogus include
      pxe, tftp: let lwIP manage port numbers
      pxe, tftp: unbreak the TFTP state machine
      idle.c: remove -*- fundamental -*- tag
      pxe: use a separate poll thread instead of using an idle thread hook
      NEWS: document FTP
      PXE Cleanups, allow for 128 open files
      core: layout.inc: remove duplicate .stack segment definition
      core: dynamically size the heap
      core, diskio: allocate the disk cache from the heap
      core: remove the .hugebss section
      Merge remote-tracking branch 'origin/master' into lwip
      pxe: remove non-lwIP definition of DNS_MAX_SERVERS
      Merge remote-tracking branch 'origin/master' into lwip
      Generalize ipappend handling as "sysappend", and move to PM code
      pxe, http: send the sysappend/ipappend strings as cookies
      Merge remote-tracking branch 'origin/master' into lwip
      Additional sysappend strings from DMI; pre-bake the http cookies
      menu: mangle whitespace in ipappend/sysappend strings
      pxe, undiif: install the gateway properly
      pxe, http: correct the header overflow test
      dmi: strip whitespace from DMI strings
      pxe, http: Use Syslinux/<version> as the User-agent:
      menu: need to advance the pointer, once again...
      dmi: add additional strings
      dmi: fix incorrect pointer subtraction, add sanity checks
      dmi: fix more pointer subtraction bugs
      pxe, http: simplify cookie generation, fix boundary conditions
      pxe: start the poll thread when we would have started the ISR
      pxe: minor initialization cleanups
      dmi: actually advance the end pointer properly
      dmi: separate the SYS* and MB* defines as their own strings
      Add documentation about the new features
      thread: make kill_thread() actually do its job
      dmi: Add a few more DMI strings
      Create a sysappend string with some very minimal CPU information
      exit_thread: make sure we don't run under scheduler lock
      exit_thread: easier form of the same test...
      thread: simplify the scheduler
      fcntl.h: add O_DIRECTORY
      pxe, http: Remove unused variable
      thread: fix warnings
      dmi: remove unused variable
      Merge remote-tracking branch 'origin/master' into lwip
      core: pass the file flags down through the stack
      pxe: push the open flags down into individual methods
      pxe: move the per-connection-type operations into a structure
      pxe: remove a stray inline
      pxe, tftp: remove global buffers, double buffering
      pxe: fix the flags test
      pxe, http: support readdir (ls) over http
      pxe, ftp: support readdir for FTP
      pxe, ftp: correct the handling of continuation lines
      NEWS: ls is now supported over FTP as well
      pxe, undiif: print UNDI information during initialization
      pxe, dns: add the local domain to unqualified hostnames
      pxe, ftp: handle some DOS FTP stacks correctly
      pxe: try to mimic the policy of iPXE with respect to interrupts
      Merge remote-tracking branch 'origin/master' into lwip
      pxe: when hooking an interrupt, explicitly enable it at the PIC
      pxe: fix the cleanup routine
      pxe: be more verbose on unload failure
      Merge commit 'syslinux-4.05-pre2' into lwip
      sysappend: advance pointer
      core: Add "dprint" facility to assembly
      Merge branch 'master' into lwip
      core/debug.c: don't error out on !DEBUG
      Merge remote-tracking branch 'origin/master' into lwip
      Merge branch 'master' into lwip
      Merge branch 'lwip' of ssh://terminus.zytor.com/pub/git/syslinux/syslinux into lwip
      Merge remote-tracking branch 'origin/master' into lwip
      undiif: correct bogus dprintf() statement
      thread: allow marking invalid; allow for static mboxes
      Merge remote-tracking branch 'origin/master' into lwip
      Merge remote-tracking branch 'genec/com32-cptime-for-hpa' into lwip
      Merge remote-tracking branch 'genec/com32-prdhcp-for-hpa' into lwip
      Merge commit 'syslinux-4.05' into lwip
      Merge branch 'lwip' of ssh://terminus.zytor.com/pub/git/syslinux/syslinux into lwip
      sys/cpu.h: add barriers
      idle_thread: safer interrupt handling
      pxe: Unmask the cascade if applicable, handle bad IRQ numbers
      lwipopts.h: Bump the priority of the tcpip_thread
      pxeisr: Use nonspecific EOI; add pxe_poll routine; CLD
      thread: Add magic number, debugging code, min stack size
      pxe: Fix interrupt unmasking
      pxe: Make the ISR poll routine a bit saner
      Merge remote-tracking branch 'origin/master' into lwip
      Merge remote-tracking branch 'genec/com32-cptime-upd-for-hpa' into lwip
      Merge remote-tracking branch 'origin/master' into lwip
      lwipopts: increase the number of netbufs
      pxe, tftp: Unify UDP send and use pbuf memory
      pxe, tftp: make TimeoutTable static
      pxe, tftp: Handle block number wraparound
      pxe: Remove stray debugging message
      lwip: Add return address to LWIP_PLATFORM_ASSERT()
      pxe, ftp: Change anonymous password to syslinux@
      Merge remote-tracking branch 'genec/lwip-1.4.0-test-2' into lwip
      pxe: Add code to detect a struck interrupt line and disable (go to poll)
      pxe: drop the maximum spurious interrupt to 100 in a timer tick
      pxe: always start the idle thread, in case we need it
      pxe: force polling on if we receive no interrupts
      pxe: use core for atomic modification of certain volatiles

Matt Fleming (6):
      Merge branch 'lwip' into elflink
      pxe: Handle closing file with NULL ->inode
      lwip: Fix use-after-free memory corruption
      shuffle: syslinux_dump_movelist() only takes 1 argument
      net: Return of the legacy network stack
      Merge branch 'lwip-merge' into elflink

Sebastian Herbszt (2):
      thread: free curr->rmstack
      core: fix pc_setint16 and pc_setint32


-- 
Matt Fleming, Intel Open Source Technology Center



More information about the Syslinux mailing list