can then access the page table entries directly using user data space with
the MOVES instruction. This should resolve the problem on the Duo 2x0
series with hard hangs in this function.
Warning: do not call any function that accesses user data space (FC $1)
from get_pte()!
- Figure out what CPU we have, rather than assuming the Booter knows,
and set cputype variable accordingly.
- Carefully rearrange the order of various MMU/ATC operations so as to
eliminate possible side effects. Also, re-order the initial bootstrap
code to make clear what various sections of this code do.
- Adjust to combined initenv()/genenvvars() (the latter has assimilated
the former).
- Add a function code argument to ptest040().
- Use symbolic constants from assym.h where appropriate (and defined).
- Some style cleanup.
- Combine initenv() and getenvvars().
- Hardwire some PowerBook internal video addresses, from Takashi Hamada.
- When printing out the machine model/CPU, use the new cputype variable
instead of the Booter's PROCESSOR environment variable.
- Use new ptest040() function code argument (though for now, the MMU is
disabled on the 040).
- Revert previous change in get_physical() that seems to have broken
some machines; use an ADD instead of an OR when determining the PA.
- Some (very minor) style cleanup of asm code.
input operands. This corrects an uninitialized variable warning, and
may also explain some erratic behavior of the MRG ADB; gcc could throw
away the value of the `ticks' variable (but I haven't traced through
any ROMs, myself).
indirect bus code framework) from Jason Thorpe. This allows us to dump
bus_scan() and bus_print(), and move bus_peek() and bus_mapin() to the
NuBus code (since they'll eventually go away, anyway).
second argument. The NuBus autoconfig code had to be reorganized as a
result of this, and looks much more like a directly-attached bus now.
These changes eliminate __BROKEN_INDIRECT_CONFIG.
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:
Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.
Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.
to initialize conspa was invalid on non-040 machines, since we don't
know which MMU we're using on those, yet. On the other hand, by the time
we get to check_video() on the 040 machines, the MMU has been disabled.
Compromise: get the video PA in setmachdep() on the 040, and in
check_video() on the others. (This is not optimal. *sigh*)
- Add reset attribute sequences for bold, underline, and reverse
- Add insert/delete line sequences
- Recognize but ignore G0/G1 character set sequences
Performance:
- Speed up clear_line() when clearing the entire line
Also, some stylistic changes for checking/setting scroll region bounds
and in putc_getpars().
These changes make the ITE work properly with the 1.2 termcap file.
have an Apple Sound Chip. Make sure that we have configured the device
before allowing accesses to ASC memory. Among other things, this
prevents the 660AV and 840AV from getting a kernel bus error when trying
to beep on the console.
instead of 0x400.
- Restructure interrupt handling for more performance--continue to
read/write data as long as the device keeps us in a data xfer phase.
There is still a lot of room for speed improvement here. Perhaps it
lies is speeding up the interrupt path in general?