Age | Commit message (Collapse) | Author |
|
anymore as a debugging tool, and it is in a rather critical path.
ok kettenis
|
|
|
|
as well. This fixes very slow performance due to lots of uncached
memory on buggy machines, for instance on very large memory thinkpad
W500 and such.
ok mlarkin kettenis sthen
|
|
ok kettenis
|
|
|
|
|
|
ok deraadt@
|
|
ok nicm@
|
|
|
|
ok miod@
|
|
ok jsing
|
|
to build X at -O2 nowadays, as well as an increasing number of ports.
Based upon a diff from Brad, with a few values stripped down to fit within
the sun4/4c virtual address space limitation. Discussed with deraadt@
|
|
sparc floppies to fit again.
|
|
used by Solaris for virtual ports (NPIV), and booting from thos is not
supported by OBP. Simplify the code accordingly.
|
|
reported memory but end beyond it, such as > 1GB DIMMs in bank 0.
Also, currently restrict physical memory usage to 1.5GB - there seems to be a
bogus 32 bit truncation happening in the IP30 specific codepath, which in turns
ends up causing the low memory alias region (and thus, the exception vectors
and the NMI handler) to be overwritten, which I can't find from code inspection
(does anyone has 2GB of Octane memory to spare?)
Both issues reported and fix/workaround tested by Florentijn van Kampen,
thanks!
|
|
the prototype-scsi_link's SDEV_2NDBUS flag rather than against its
scsibus field. First, the scsibus field hasn't even been initialized
when device_register() is called so it's always 0 anyway; second, the
path number is supposed to be locally scoped to a single device
whereas the scsibus field is a global scsibus(4) device number.
The existing code only happened to work because all of the dual-port
fibre-channel adapters we currently support attach as two devices with
one scsibus each rather than a single device with two scsibuses, so we
would never see anything but "fp@0".
Initial investigation and diff by jmatthew after my SCSI cleanups at
c2k11 broke sparc64's ability to boot from isp(4); newer version from
me based on discussion with krw and kettenis.
tested and ok kettenis
|
|
|
|
needed by hand.
|
|
much of the kernel world when it did not need to
|
|
MI float.h which pulls in and defines the values that are needed from
there, and repair sys/limits.h so that it defines the values it needs
as well (depending on POSIX version, XPG version, etc). guenther has
a more exact selection of that coming for limits.h.
this also fixes a few mistakes for the vax.
reviewed by kettenis and guenther.
|
|
"Why is this not commited yet?" says miod
|
|
all the goop it needs by itself
ok millert
|
|
R5000SC processor modules; these sport an up to 512KB, physically indexed,
write-through L2 cache which is not connected to the canonical external cache
interface of these processors (hence requiring specific code to drive it).
The cache is enabled early and disabled before returning to ARCBios (for very
nasty things happen otherwise).
Tested on R5000SC, will be tested on R4600SC soon.
|
|
handling of a partial last line in IOSyncDCache. No functional change.
|
|
size being not larger than 4KB, use Hit operations on the pa instead of Index
operations on the va for each set in the SyncDCachePage routine, when running
with such a cache.
|
|
smallest possible size; and on kernels with 16KB pages, where no virtual
aliasing happens, use Hit operations on the pa instead of index operations
on the va for all sets in the SyncDCachePage routine.
Tested by mikeb@ on IP32 and myself on IP27/28/30/35
|
|
|
|
cache lines and sizes are already there, after all.
The ConfigCache cache routine is responsible for filling these function
pointers; cache routine invocation macros are updated to use the cpu_info
fields, but may still be overriden in <machine/cpu.h> on platforms where
only one set of cache routines is used.
|
|
which will be easier to maintain on the long run. Be sure to rm cache_r*.d in
your kernel compile directories after updating.
|
|
in cp0_set_config() for consistency.
|
|
addresses, remove the magic value to uniformize access to the mmio and
doesn't map the unused pseudo-vga registers.
While here simplify the console attachement logic and removed some
unused global variables. Tested by matthieu@ and myself on various
different G3 and G4 models.
ok kettenis@
|
|
so that it can't get a signal while still running on the parent thread's
stack. Also, pass in sizeof(struct __tfork) to provide forward compat
when more members are added. This is an ABI change, so switch syscall
numbers and bump lib majors this time.
ok deraadt@ matthew@
|
|
|
|
|
|
ok deraadt@
|
|
|
|
was a nice trick, but this register is only 32-bit wide and will be
sign-extended, which requires all cpu_info structs to be allocated within 2GB
physical - something which may not be possible on some configurations.
This diff changes IP30.MP kernels to no longer use LLAddr to store curcpu,
but use unused fields of the MPConf structure in low memory, indexed with the
physical processor id, which can be obtained from the Heart PRID register.
|
|
|
|
|
|
|
|
|
|
states that only com0 can be used as serial console.
|
|
any serial ports. Otherwise the new code to use puc(4) ports as serial
console isn't all that useful.
ok sthen@, miod@
|
|
not apply if the coherent operation cache control completer is specified
for the ldcw/ldcd instruction. As a result, remove the alignment
requirement and add the necessary completer.
ok kettenis@
|
|
ok kettenis@
|
|
OK weingart@
|
|
Fix tested by naddy@
ok kettenis@
|
|
ok kettenis@
|
|
a new "machine comaddr" command that makes it possible to configure the
io port used to access the serial port. This can be used to use serial ports
on a puc(4) device as serial console.
|
|
|