freebsd-dev/sys
Luigi Rizzo ade303f361 As reported in kern/118222, pxeboot in RELENG7 (and presumably
above) exhibits some misbehaviours on machines with AMD64 CPUs,
which at least in some cases I have tracked down to a heap overflow.

It is unclear whether it depends on the CPU or on the pxe bios
itself which may use more memory on AMD machines.

Noticeably a pxeboot compiled from 6.x sources works fine on all
machines I have tried so far, while a pxeboot compiled from 7.x
sources does not.

This patch is a first step in reducing the amount of memory used
while processing the configuration files read by the loader at boot
(some of them are quite large, 1700+ lines), and it does so by:
+ moving a buffer to static memory instead of allocating in the heap;
+ skipping empty lines;
+ reducing the amount of memory used for line descriptors;

Unfortunately there are several changes between 6.x and above,
affecting the compiler, the loader code itself, and libstand,
and it is not so straightforward to
These changes fix the behaviour on one motherboard with a
single-core AMD cpu, but are still not enough e.g on an Asus
M2N-VM (with a dual-core CPU).

I need to investigate the problem a bit more before figuring
out what should be committed to RELENG_7

PR:		kern/118222
2008-11-20 14:57:09 +00:00
..
amd64 In the robust futexes list head, futex_offset shall be signed, 2008-11-16 15:45:41 +00:00
arm Improve error handling in pcib_mbus_identify(). 2008-11-19 17:07:01 +00:00
boot As reported in kern/118222, pxeboot in RELENG7 (and presumably 2008-11-20 14:57:09 +00:00
bsm Add support for extended header BSM tokens. Currently we use the 2008-11-11 21:57:03 +00:00
cam Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
cddl Some zfsboot fixes from Norikatsu Shigemura: 2008-11-19 16:59:19 +00:00
compat In the robust futexes list head, futex_offset shall be signed, 2008-11-16 15:45:41 +00:00
conf Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes. 2008-11-17 20:49:29 +00:00
contrib Fix a number of style issues in the MALLOC / FREE commit. I've tried to 2008-10-23 20:26:15 +00:00
crypto Fix a potential NULL-pointer dereference in padlock(4). 2008-11-17 19:00:36 +00:00
ddb Collect N identical (or near identical) mkdumpheader() implementations into 2008-10-01 22:08:53 +00:00
dev Given that the buffer dcons_crom(4) exposes is used for both input 2008-11-19 22:09:03 +00:00
fs - Fix a typo in a comment. 2008-11-18 23:19:43 +00:00
gdb Commit SYSINIT() ;-adding patch missed in previous pass. 2008-03-16 13:02:04 +00:00
geom Partition type FS_UNUSED does not mean the partition entry 2008-11-18 05:55:58 +00:00
gnu Adapt to accmode_t changes. 2008-11-14 09:58:16 +00:00
i386 In the robust futexes list head, futex_offset shall be signed, 2008-11-16 15:45:41 +00:00
ia64 Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
isa Allow device hints to wire the unit numbers of devices. 2008-11-18 21:01:54 +00:00
kern Fix a scope problem in the multiple routing table code that stopped the 2008-11-19 19:19:30 +00:00
kgssapi Call svc_freereq() before returning from the service proc. 2008-11-12 15:31:05 +00:00
libkern Prefix the static shl function with '__' like its parent function __qdivrem to 2008-10-09 20:43:42 +00:00
mips Remove cardbus attachment. It likely was a cut-n-paste left over from 2008-11-02 02:58:24 +00:00
modules Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes. 2008-11-17 20:49:29 +00:00
net Change the initialization methodology for global variables scheduled 2008-11-19 09:39:34 +00:00
net80211 Fix checks for fast frames negotiation. ni_ath_flags holds the 2008-10-30 16:22:04 +00:00
netatalk Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netgraph Don't use curthread to resolve file descriptor. Request may be queued, so 2008-11-08 06:25:57 +00:00
netinet Fix a scope problem in the multiple routing table code that stopped the 2008-11-19 19:19:30 +00:00
netinet6 Change the initialization methodology for global variables scheduled 2008-11-19 09:39:34 +00:00
netipsec Change the initialization methodology for global variables scheduled 2008-11-19 09:39:34 +00:00
netipx Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netnatm Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netncp Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netsmb Implement device cloning for /dev/nsmb, the netsmb control pseudo-device. 2008-11-03 14:23:15 +00:00
nfs Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. 2008-03-25 09:39:02 +00:00
nfs4client Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary 2008-10-28 13:44:11 +00:00
nfsclient Switch the default rpc implementation for NFS back to the new code. I believe 2008-11-14 11:27:53 +00:00
nfsserver Switch the default rpc implementation for NFS back to the new code. I believe 2008-11-14 11:27:53 +00:00
nlm Don't call svc_freereq() before svc_freeargs(). 2008-11-12 15:30:30 +00:00
opencrypto Don't hang if encrypting/decrypting using struct iovecs where one of the 2008-10-30 16:11:07 +00:00
pc98 Improved IDE HDD geometry adjustment. Previous code didn't work with 2008-10-27 08:40:13 +00:00
pccard
pci Move mn over. One of the last stragglers in sys/pci. There's no 2008-11-02 17:04:54 +00:00
powerpc Define LDBL_EPSILON, LDBL_MAX and LDBL_MIN as long double constants. 2008-11-16 19:20:29 +00:00
rpc Add a missing call to mtx_destroy(). 2008-11-12 12:21:18 +00:00
security When repeatedly accessing a thread credential, cache the credential 2008-11-14 01:24:52 +00:00
sparc64 Use the interrupt level right below PIL_FAST for executing interrupt 2008-11-19 22:12:32 +00:00
sun4v - In GCC 4.2 __builtin_frame_address() was fixed to include the 2008-10-27 21:31:14 +00:00
sys Initial storage functionality for U-Boot support library. 2008-11-19 17:34:28 +00:00
tools Remove some unused and broken code that attempted to not invoke locking 2008-11-03 19:57:40 +00:00
ufs Fix typo. 2008-11-19 20:06:59 +00:00
vm Instead of forcing vn_start_write() to reset mp back to NULL for the 2008-11-16 21:57:54 +00:00
xdr Use the remote address for access control, not the local address. This fixes 2008-11-13 14:36:52 +00:00
xen merge fix for boot-time hang on centos' xen 2008-11-14 07:06:27 +00:00
Makefile Improve the glimpse target: don't index .svn and compile directories. 2008-08-15 14:11:30 +00:00