Commit Graph

83763 Commits

Author SHA1 Message Date
Marcel Moolenaar
155dbcacfb Change the startup code to fix a memory leak and to allow us to
accept load options (=command line options).

The call graph changes from *entry*->efi_main->efi_init, where
efi_main is the EFI equivalent of main to *entry*->efi_main->main,
where main is what you'd expect. efi_main now is what efi_init was.
The prototype of main follows that of C. The first argument is argc
and the second is argv. There is no third argument.
Allocation of heap pages is now handled by the EFI library and it
now deallocates the pages when main() returns or when exit() is
called. This allows us to safely return to the boot manager (or
EFI shell) without leaks. EFI applications are responsible to free
all memory themselves.

Handling of the load options is a bit tricky. There are either no
load options, load options in ASCII or load options in Unicode.
The EFI library will translate the ASCII options to Unicode options
as to simplify user code. Since the load options are passed as a
single string (if present) and main() accepts argc and argv, the
startup code also has to split the string into words and build the
argv vector. Here the trickiness starts. When the loader is started
from the EFI shell, argv[0] will automaticly load the program name.
In all other cases (ie through the boot manager), this is not the
case. Unfortunately, there's no trivial way to check. Hence, a
set of conditions is checked to determine if we need to fill in
argv[0] ourselves or not. This checking is not perfect. There are
known cases where it fails to do the right thing. The logic works
for most expected cases, though. This includes the case where no
options are given.

Approved by: re (blanket)
2002-12-10 06:22:25 +00:00
Marcel Moolenaar
4ee2f7cb16 o Make all GUID variables global to maximize reuse.
o  Recognize the HCDP configuration table.
o  Dump the GUID of tables we don't recognize.

Approved by: re (carte blanche)
2002-12-10 04:55:25 +00:00
Marcel Moolenaar
06657fad9b Build EFI with -fshort-wchar so that L"some string" works with the
EFI has defined CHAR16.
2002-12-10 04:20:15 +00:00
Marcel Moolenaar
aa56e74e06 Remove _putchar, _puts and _puthex. These functions are unused.
Approved by: re (blanket)
2002-12-10 04:14:01 +00:00
Julian Elischer
696058c3c5 Unbreak the KSE code. Keep track of zobie threads using the Per-CPU storage
during the context switch. Rearrange thread cleanups
to avoid problems with Giant. Clean threads when freed or
when recycled.

Approved by:	re (jhb)
2002-12-10 02:33:45 +00:00
Peter Grehan
bdaf0d3b7d Add powerpc.h. Still missing powerpc.[ch] in gprof, but this gets
the MI stuff out of the way.

Approved: re (rwatson)
2002-12-10 02:22:01 +00:00
Chris Costello
17c5113a22 Document the following MAC policies:
o None: Stub policy
o Seeotheruids: The "see processes and sockets owned by other users" policy
o Test: Debugging policy

Standardize the SYNOPSIS and HISTORY sections.

Update SEE ALSO sections.
2002-12-10 00:39:17 +00:00
Benno Rice
894dbc508a Teach lint about powerpc.
Approved by:	re (rwatson)
2002-12-09 23:27:47 +00:00
Robert Watson
9bcce93590 Unhook LOMAC sysinstall twiddle for the time being: mac_lomac requires
the MAC Framework to be compiled into the kernel, and that's not
well-expressed in sysinstall.

Approved by:	re (bmah)
2002-12-09 19:06:43 +00:00
Bruce A. Mah
f2400b0fc3 Move lang/perl5 from the "want to have on disc1" to the "sysinstall
requires on disc1" part of the package split list, to track the
Perl support in sysinstall.  Essentially a cosmetic change.

Approved by:	re
2002-12-09 16:55:25 +00:00
Murray Stokely
9314e0a12e Only create the DRIVERS.TXT file on i386 for now.
Approved by:	re
2002-12-09 16:42:23 +00:00
Murray Stokely
fdd57f1a0c Create DRIVERS.TXT file to describe the contents of drivers.flp.
Approved by:	re
2002-12-09 16:14:46 +00:00
Murray Stokely
be4526b68f Add a script to create a manifest of the drivers.flp disk. This
generates a file which will be installed as DRIVERS.TXT in the
floppies directory so that users know which device drivers are
included on drivers.flp, and whether or not they need to worry about
it.

Reviewed by:	ru
Approved by:	re
2002-12-09 16:13:37 +00:00
Murray Stokely
9fe47a01b9 Note that users may need the third drivers.flp image to complete an
installation.

Approved by:	re (bmah)
2002-12-09 16:11:56 +00:00
Ruslan Ermilov
cdd53b1589 mdoc(7) police: overhaul.
Reviewed by:	re
2002-12-09 14:29:34 +00:00
Ruslan Ermilov
a9a15f3ea4 mdoc(7) police: tiny nits.
Approved by:	re
2002-12-09 14:11:37 +00:00
Ruslan Ermilov
fd779e0181 mdoc(7) police: tiny nits.
Approved by:	re
2002-12-09 14:04:05 +00:00
Ruslan Ermilov
187f61df61 mdoc(7) police: overhaul.
Approved by:	re
2002-12-09 13:54:29 +00:00
Ruslan Ermilov
142de08d3a mdoc(7) police: nits.
Approved by:	re
2002-12-09 13:14:15 +00:00
Ruslan Ermilov
7ba060236b mdoc(7) police: markup nits.
Approved by:	re
2002-12-09 13:06:34 +00:00
Ruslan Ermilov
60849ee115 mdoc(7) police: nits.
Approved by:	re
2002-12-09 12:47:18 +00:00
Ruslan Ermilov
e199383992 mdoc(7) police: overhaul. 2002-12-09 12:41:29 +00:00
Ruslan Ermilov
ff69a1c6c4 mdoc(7) police: markup nits.
Approved by:	re (blanket)
2002-12-09 12:28:33 +00:00
Roger Hardiman
2cfff6e8ef Fix a panic unloading the bktr driver when devfs is in use.
PR:	kern/36413
2002-12-09 09:04:09 +00:00
Robert Watson
990b4b2dc5 Remove dm_root entry from struct devfs_mount. It's never set, and is
unused.  Replace it with a dm_mount back-pointer to the struct mount
that the devfs_mount is associated with.  Export that pointer to MAC
Framework entry points, where all current policies don't use the
pointer.  This permits the SEBSD port of SELinux's FLASK/TE to compile
out-of-the-box on 5.0-CURRENT with full file system labeling support.

Approved by:	re (murray)
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-12-09 03:44:28 +00:00
Robert Watson
bf616e0493 Remove documentation of ENABLE_VFS_IOOPT: we don't want people to use
it, so don't suggest it.  It's likely going away soon also, so avoid
believing it's supported.

Suggested by:	Sean Kelly <smkelly@zombie.org>
Approved by:	re
2002-12-09 03:41:37 +00:00
Robert Watson
1bebbbe220 Document that ENABLE_VFS_IOOPT is dangerous. Please don't use it.
Suggested by:	alc
Approved by:	re (murray)
2002-12-09 03:38:03 +00:00
Tim J. Robbins
deca89c7c0 Correctly handle files with IFS characters (spaces) in their names when
cleaning up temporary files.

Submitted by:	Mike Makonnen <mtm@identd.net>
Approved by:	re
2002-12-09 02:22:50 +00:00
Josef Karthauser
85105890c2 MFNetBSD: (partial 1.133)
- In ohci_close_pipe, wait 1ms after removing an ED to avoid possible race
  condition.

Approved by:	re (rwatson)
2002-12-09 01:41:24 +00:00
Josef Karthauser
2c123d54ee MFNetBSD:
date: 2002/09/29 20:59:30;  author: augustss;  state: Exp;  lines: +2 -7
    Remove extra call to ohci_rem_ed().  From kern/18448, Takeshi Nakayama.

Approved by:	re (rwatson)
2002-12-09 01:39:32 +00:00
Mario Sergio Fujikawa Ferreira
056475f0bf Add finance, hungarian, multimedia [1] and portuguese collections
PR:		45835 [1]
Submitted by:	Morten Rodal <morten@rodal.no> [1]
Approved by:	re (murray)
MFC after:	1 week
2002-12-09 01:02:42 +00:00
Josef Karthauser
317cca359c Don't corrupt the ED list whilst removing an entry.
Submitted by:	Bernd Walter <ticso@cicely8.cicely.de>
Approved by:	re (rwatson)
2002-12-09 00:55:50 +00:00
Josef Karthauser
02ea085763 Add ucom.4 to the list of related man pages.
Submitted by:	keramida
Approved by:	re (murray)
2002-12-09 00:22:14 +00:00
Daniel Eischen
84001cde8f For now, build and install this as libkse instead of libpthread.
This will avoid any accidental use of an experimental library.

Suggested by:	rwatson
Approved by:	re (jhb)
2002-12-08 22:43:31 +00:00
Marcel Moolenaar
0068037936 Add the GUID of the DIG64 HCDP table. 2002-12-08 20:47:44 +00:00
Marcel Moolenaar
7b54e1ca53 Use one of the bi_spare entries for the DIG64 HCDP table address.
The HCDP table is one (non-proprietary) way for the platform to
inform the OS about headless operation. This field would normally
hold the address as can be found by scanning the EFI system table,
which we also pass to the kernel. The apparent duplication allows
us to synthesize a HCDP table in the loader by whatever means we
can think of, including relocating the platform table into pre-
mapped address space. In short: it gives us more freedom.

Approved by: re (blanket)
2002-12-08 20:32:56 +00:00
Marcel Moolenaar
c0fabbfb90 Disable SMP. It reduces the chance that the kernel boots. On top
of that, there's some nasty process corruption when running with
SMP.

Note that this was already in effect for the 5.0-RC1 kernels in
the form of a local patch.

Approved by: re (blanket)
2002-12-08 20:14:04 +00:00
Marcel Moolenaar
ea16741fc0 The boot manager sets the watchdog timer to 5 minutes before invoking
a boot option. When the timer expires the machine is rebooted.
Disable the watchdog timer for 2 reasons:
o  We're an interactive program. We cannot guarantee that we've
   booted the kernel in the time available to us. There have been
   situations where netbooting the right kernel took 2 tries and
   more time than given. Not to speak of the normal behaviour to
   have the loader sitting at the prompt while the user is off
   doing other things (such as figuring out what to type next ;-)
o  We may not boot a kernel at all. We may exit as the result of
   the user typing quit (assuming it took less than 5 minutes to
   type it :-). It is documented that loaders should have disabled
   the watchdog timer if they return to the boot manager. Not doing
   so would cause a reboot while in the boot manager. This appears
   to be harmless, besides of course the actual reboot.

Approved by: re (weisse karte)
2002-12-08 20:04:00 +00:00
Marcel Moolenaar
487d404b1b In efi_cons_poll we check if a key is present (pending) by checking
the signaled state of the apropriate event. As a side-effect of
checking the event, it's signaled state is cleared if it was set.
In efi_cons_getchar we used to wait for the apropriate event to be
signaled before reading a character. This however does not work if
we poll before reading the characteri, such as during autoboot. On
a more compliant EFI implementation this resulted in the behaviour
that hitting a key during autoboot would stop the countdown, but
would then wait for a new character to arrive instead of reading
the already pending key that stopped the countdown.

The correct behaviour for efi_cons_getchar is to try to read a key
and if none is pending, to wait for the apropriate event to signal
the arrival of a new key.

Note that with the previous behaviour, the second key would determine
how the autoboot was interrupted. This would indicate that the first
key got lost. This indicates that EFI does not necessarily maintain
a queue of pending keys. FWIW...

Approved by: re (carte blanche)
French corrected by: various people :-)
2002-12-08 19:46:11 +00:00
Murray Stokely
9b7e3080cf We use .tbz packages in -CURRENT now.
Approved by:	re
2002-12-08 18:31:03 +00:00
Ian Dowse
42d5b03cfc Fix emulation of the fcntl64() syscall. In Linux, this is exactly
the same as fcntl() except that it supports the new 64-bit file
locking commands (LINUX_F_GETLK64 etc) that use the `flock64'
structure. We had been interpreting all flock structures passed to
fcntl64() as `struct flock64' instead of only the ones from F_*64
commands.

The glibc in linux_base-7 uses fcntl64() by default, but the bug
was often non-fatal since the misinterpretation typically only
causes junk to appear in the `l_len' field and most junk values are
accepted as valid range lengths. The result is occasional EINVAL
errors from F_SETLK and a few bytes after the supplied `struct
flock' getting clobbered during F_GETLK.

PR:		kern/37656
Reviewed by:	marcel
Approved by:	re
MFC after:	1 week
2002-12-08 18:30:44 +00:00
Robert Watson
f7883a793c Correct alphabetization of awi entry.
Inane act of:	re
Spotted by:	bde
2002-12-08 17:59:44 +00:00
Scott Long
9449f0dc90 Add FAQ entries on dealing with ACPI issues and enabling the ISA drivers
that were recently disabled.
There still are several references to the now-gone userconfig; these need to
be fixed before 5.0-RELEASE.

Approved by:	re (rwatson)
2002-12-08 17:24:38 +00:00
Alan Cox
2e29a1f21f To avoid lock order reversals in getnewvnode(), the call to uma_zfree()
must be delayed until the vnode interlock is released.

Reported by:	kris@
Approved by:	re (jhb)
2002-12-08 05:06:50 +00:00
Robert Watson
e6f88402ff Move the awi module build dependency into the MACHINE_ARCH=i386 entry. 2002-12-08 03:55:35 +00:00
Giorgos Keramidas
0333ea509d Avoid using perl in the periodic & security scripts. This brings the
base system one step closer to being totally perl-free.

Approved by:	re (jhb)
2002-12-07 23:37:44 +00:00
Udo Erdelhoff
f22dda7a29 MFbed
a) track changes in the english version (aka chase Bruce)
hardware/alpha/proc-alpha.sgml:         1.48  -> 1.49
hardware/common/dev.sgml:               1.117 -> 1.119
hardware/i386/article.sgml:             1.3   -> 1.4
installation/i386/article.sgml:         1.3   -> 1.4
relnotes/common/new.sgml:               1.461 -> 1.466
relnotes/i386/article.sgml:             1.3   -> 1.4

b) use /doc/de_DE.ISO8859-1 where possible
early-adopter/article.sgml (also bumped marker for translation no-op)
installation/common/install.sgml
installation/common/upgrade.sgml
installation/sparc64/install.sgml
readme/article.sgml
relnotes/common/new.sgml

Approved by:	re (blanket)
2002-12-07 22:32:31 +00:00
Ian Dowse
9d580d7c5f Slow down the operation of background fsck so as to leave some disk
bandwidth for other processes. Since the sleeping is done from
userland, this avoids the locking issues that affected the kernel
version.

The algorithm used here is to measure a moving average of the times
taken by a sample of read operations and then delay 1 in 8 reads
by 16 times the measured average. This should correspond to a factor
of 3 slowdown, but in practice the factor is larger (3.5 to 4) due
to hz rounding effects.

Reviewed by:	mckusick
Approved by:	re
2002-12-07 21:40:31 +00:00
Maxim Sobolev
16199bf2d3 MFS: recognize gre packets used in the WCCP protocol.
Approved by:	re
2002-12-07 14:22:05 +00:00
Robert Watson
3358dbd039 Hook up the awi module for build on i386 and pc98, which appear to be
the supported platforms.  We build it into GENERIC, and it is currently
listed on the supported module list for drivers.conf on i386, which
breaks the release build.  This may fix the release build for RC1 on
i386.

Conspiracy of:	re
2002-12-07 14:06:56 +00:00