- Re-order the md_*() definitions so they are in the order called
- Add some comments
- Remove obsolete md_set_no_x() definition
- Remove md_copy_filesystem()
- #if defined(DEBUG) declare backtowin(void) to avoid scattering
externs in various md .c files
mbr.[ch]:
- Add a set_bios_geom_with_mbr_guess() which can be called by all
the non x86 ports rather than copying the same code into arc,
bebox, cobalt, evbmips, evbppc, hpcarm, hpcmips, landisk, ofppc,
prep, sandpoint, and zaurus md.c
install.c:
- Remove now unnecessary call to md_copy_filesystem()
upgrade.c:
- Move move_aout_libs() here, and put under #ifdef AOUT2ELF
- Rather than having *every* md_update call wrefresh(curscr),
wmove(stdscr, 0, 0), wclear(stdscr), and wrefresh(stdscr),
move them here
arch/acorn26/md.c:
- Just include arch/acorn32/md.c, but add a note there warning
about this, and while here add a note to i386/md.c that it
is included by amd64
arch/*/md.c:
- By all means "Vive la difference", but we have 38 pairs of md.[ch],
and they could not even agree on the order in which to list the
md hooks, let alone formatting. Sort the md hooks to match the
(now sane) order in def.sh, and try to normalise the formatting
- Also copy across some function level comments everywhere
- Ensure functions only used inside each md.c are defined as static
- Remove some now unused functions
- Some files had enable_rc_conf in #ifdef DEBUG. Add this to all
- bebox, evbppc and sandpoint were still playing broken games with
copying the booted ramdisk to the target disk, the primary result
of which was just to slow things down and ensure the target system
lost the .profile extracted from the sets. Just kill this.
- For some ports md_update() called endwin(), and in others not.
Take a cure from i386/amd64 and a few other more active ports,
and update everything to match (no endwin())
- In a couple of cases correct port names in comments
- ANSIfy some lingering old style functions
- Consistently use "return 0;" rather than "return (0);"
More of the mbr code should be abstracted, along with the
get_ramsize() / set_swap() logic, but this is (more than)
enough for one day...
sysinst built for all ports but only runtime tested on amd64 & i386
PROG usr/bin/gzip usr/bin/gzcat usr/bin/gunzip
while 14 picked
PROG usr/bin/gzip usr/bin/gunzip usr/bin/gzcat
Make them all choose the former. No functional change.
and make suspension by self, by drvctl(8), and by ACPI system sleep
play nice together. Start solidifying some temporary API changes.
1. Extract a new header file, <sys/device_if.h>, from <sys/device.h> and
#include it from <sys/pmf.h> instead of <sys/device.h> to break the
circular dependency between <sys/device.h> and <sys/pmf.h>.
2. Introduce pmf_qual_t, an aggregate of qualifications on a PMF
suspend/resume call. Start to replace instances of PMF_FN_PROTO,
PMF_FN_ARGS, et cetera, with a pmf_qual_t.
3. Introduce the notion of a "suspensor," an entity that holds a
device in suspension. More than one suspensor may hold a device
at once. A device stays suspended as long as at least one
suspensor holds it. A device resumes when the last suspensor
releases it.
Currently, the kernel defines three suspensors,
3a the system-suspensor: for system suspension, initiated
by 'sysctl -w machdep.sleep_state=3', by lid closure, by
power-button press, et cetera,
3b the drvctl-suspensor: for device suspension by /dev/drvctl
ioctl, e.g., drvctl -S sip0.
3c the system self-suspensor: for device drivers that suspend
themselves and their children. Several drivers for network
interfaces put the network device to sleep while it is not
administratively up, that is, after the kernel calls if_stop(,
1). The self-suspensor should not be used directly. See
the description of suspensor delegates, below.
A suspensor can have one or more "delegates". A suspensor can
release devices that its delegates hold suspended. Right now,
only the system self-suspensor has delegates. For each device
that a self-suspending driver attaches, it creates the device's
self-suspensor, a delegate of the system self-suspensor.
Suspensors stop a system-wide suspend/resume cycle from waking
devices that the operator put to sleep with drvctl before the cycle.
They also help self-suspension to work more simply, safely, and in
accord with expectations.
4. Add the notion of device activation level, devact_level_t,
and a routine for checking the current activation level,
device_activation(). Current activation levels are DEVACT_LEVEL_BUS,
DEVACT_LEVEL_DRIVER, and DEVACT_LEVEL_CLASS, which respectively
indicate that the device's bus is active, that the bus and device are
active, and that the bus, device, and the functions of the device's
class (network, audio) are active.
Suspend/resume calls can be qualified with a devact_level_t.
The power-management framework treats a devact_level_t that
qualifies a device suspension as the device's current activation
level; it only runs hooks to reduce the activation level from
the presumed current level to the fully suspended state. The
framework treats a devact_level_t qualifying device resumption
as the target activation level; it only runs hooks to raise the
activation level to the target.
5. Use pmf_qual_t, devact_level_t, and self-suspensors in several
drivers.
6. Temporarily add an unused power-management workqueue that I will
remove or replace, soon.
Pfsync interface exposes change in the pf(4) over a pseudo-interface, and can
be used to synchronise different pf.
This work was part of my 2009 GSoC
No objection on tech-net@
makes {MK,HAVE_}BINUTILS consistent with {MK,HAVE_}{GCC,GDB}.
Allow MKBFD to defines MKBINUTILS as a backwards compatibility hook.
Update the sets lists and add conditionals for lib{bfd,opcodes}.
- we now only create them when building X11, and only create the ones
we need (X11R6 xor X11R7)
- all these subdirs are now in the xbase set
- move the logic for running mtree into etc/mtree/Makefile
- split NetBSD.dist into 3 files, and have the build and postinstall handle
creating a possibly merged one. we still have a single installed file
called "NetBSD.dist".
It will replace azalia(4) after testing.
To use, comment out azalia in your kernel configuration and uncomment the
hdaudio and hdafg lines so it reads:
# Intel High Definition Audio
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?
You should also:
cd /dev
sh MAKEDEV audio
I am not marking the incorrect name as "obsolete" in the set lists
because it's been less than 12 hours. If you have already installed the
incorrectly named file, you will have to delete it manually.