- remove local shrinked memcpy() from bootxx.c bacause
now it's identical with __OPTIMIZE_SIZE__ libsa one
derived from src/common/lib/libc/string/bcopy.c.
Tested netboot from le0 and bootxx + boot from sd0 on SS1+.
have no drivers.
Standby TIMER that we don't use. One of the timers is always out of
standby on my Jornada on boot (WinCE uses it), so save some power.
Standby AFE and FIR for which we have no drivers (I don't know if any
hpcsh hardware actually uses them, so they are likely to be in standby
already anyway).
Fix numerous problems:
1. LDT updates are not atomic.
2. Number of processes running with private LDTs and/or I/O bitmaps
is not capped. System with high maxprocs can be paniced.
3. LDTR can be leaked over context switch.
4. GDT slot allocations can race, giving the same LDT slot to two procs.
5. Incomplete interrupt/trap frames can be stacked.
6. In some rare cases segment faults are not handled correctly.
some reason. Restore it to correct 16.
HTF did hpcsh work all this time with hd6446x_imask[_IPL_N] indexed
with IPLs 0..15 is a mistery... Discovered by accidentally triggering
hd64461 timer interrupt that is not enabled and should have been
masked.
_IPL_N used to be *also incorrect* 15 before Andy's change, which
makes one wonder if dumb luck is severly underappreciated.
easier to do it there rather than mess with config_interrupts()).
From kiyohara@. Discussed with drochner@, who pointed out that pcmcia
drivers are expected to attach with interrupts enabled.
to memcpy(). Work around that by using a local variable instead.
(This looks a bit dubious, but who am I to judge the restrictions
in the standalone environment on the vax -- this should not change
the semantics of what was here before.)
implementation of bcopy() needs to become memcpy() as well. The
simpler local implementation is needed so that the boot code doesn't
overflow the available space.
registers. if we faulted trying to set them, just fall into
"we_re_toast", and arrange for a SEGV to be delivered to the
userland process. fixes kernel mode faults.
from andrew doran.
that Juergen Hannken-Illjes reports:
sys/arch/i386/conf/MONOLITHIC:16: already have options `COMPAT_NOMID'
sys/arch/i386/conf/MONOLITHIC:17: already have options `COMPAT_09'
...
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
- Catch NPE_NOTIFYMACRECOVERYDONE from NPE, reset MAC and send
NPE_MACRECOVERYSTART to NPE. This sequence is very important :-|
(It's easy to reproduce)
- Don't call tsleep() in interrupt context.
- Add randomness of the transmit deferwhen a collision occured (like CSR)
- fix DPRINTFn() in npe_cpu_reset()
- fix if_init(), if_stop(), if_start() and ifioctl().
Some of these bugfixes are required to use multicast filter's fix(rev. 1.11)
- Prevent linkdown when only the promisc flag changed.
mine) - not quite working, but improves the situation for non-MULTIPROCESSOR
kernels (makes LOCKDEBUG kernels work) and does not make SMP kernels worse:
Rearange cpu_info access and hide the actual implementation of the mapping
from all parts of the code that do not directly deal with it. Do the
mapping early in pmap_bootstrap, so that post-vmlocking2 kernels have
a chance to work.
The actual mapping of the cpus array for SMP kernels has to be fixed still,
but both mrg and me ran out of time and this lay around in our trees far
too long.
- x86_round_page, x86_trunc_page, x86_btop and x86_ptob macros are used with
physical addresses; cast to paddr_t instead of u_long. Issue pointed out
by jym@
- machine_to_phys_mapping[] is a long. This is fine as it holds page
frame numbers (and this fits in a 32bit int as physical addresses are
only 36bits), but cast to paddr_t before << PAGE_SHIFT
- xen_start_info.store_mfn is a long; cast it to paddr_t before << PAGE_SHIFT.
should fix issue pointed out by cegger@