Age | Commit message (Collapse) | Author |
|
the current segment. Load and store the necessary BIOS registers from
protected mode, preserving the register values across the real mode and
protected mode switches by directly patching instructions. This allows for
boot(8) to be larger than 64KB.
|
|
|
|
Run-time Architecture Document". GCC relies on this to properly align
stack variables.
ok guenther@, beck@
|
|
Part of the work to remove -Wno-uninitialized.
ok mikeb@
|
|
ok kettenis@
|
|
|
|
list in loongson's <machine/autoconf.h> directly. <mips64/archtype.h> is
intended to be only used on ARCBios-like platforms.
|
|
|
|
which will remain in <machine/cpu.h>, and a new mips_cpu.h containing only the
goriest md details, which are only of interest to a handful set of files; this
is similar in spirit to what alpha does, but here <machine/cpu.h> does not
include the new file.
|
|
|
|
basically an IP22 system (R4000 Indigo2) with the ECC memory board of IP28,
and a so-called ``streaming'' L2 cache.
IP26 kernels currently boot single-user, but don't live long; I am suspecting
a bug in the tcc cache routines, but am currently not able to find it (come
to think of it, my understanding of how this cache works could be wrong, and
of course there is no documentation for it but what can be gathered from
IRIX' <sys/IP26.h> comments and defines).
Hopefully this situation will improve in the near future; in the meantime I
am commiting this as `work in progress' to make sure this code doesn't get
lost.
|
|
which allows them to run on IP26 (POWER Indigo2 R8000).
Crank boot blocks version.
|
|
This allows MI code to support both 32-bit ARCS systems, as well as 64-bit
R8000 and R1x000 systems.
While there, #if 0 out ARCBios routines currently not used by the kernel.
|
|
exception-specific code, clock-specific code, and L1 cache-specific code. L2
cache is per-design, of which only two exist: SGI Power Indigo2 (IP26) and SGI
Power Challenge (IP21) and are not covered by this commit.
R8000 processors also are 64-bit only processors with 64-bit coprocessor 0
registers, and lack so-called ``compatibility'' memory spaces allowing 32-bit
code to run with sign-extended addresses and registers.
The intrusive changes are covered by #ifdef CPU_R8000 stanzas. However,
trap() is split into a high-level wrapper and a new function, itsa(),
responsible for the actual trap servicing (which name couldn't be helped
because I'm an incorrigible punster). While an R8000 exception may cause
(via trap() ) multiple exceptions to be serviced, non-R8000 processors will
always service one exception in trap(), but they are nevertheless affected
by this code split.
|
|
|
|
into a global. This allows R12000 O2 systems to set the DSD bit in once for
all, instead of having to set it every time in setregs().
|
|
|
|
as some odd mips designs need moro than 32 bits in there. This causes a lot
of mechanical changes everywhere getsr() is used.
|
|
|
|
|
|
knowledge to <machine/pte.h>. Add specific routines for tlb handling setup
(at cpu initialization time) and tlb ASID wrap.
|
|
register update, status register update causing a change to the interrupt
enable flag, and a few other arcane ones. <mips64/asm.h> will provide
(supposedly sane) defaults, and <machine/asm.h> may override these with
better tuned versions.
Use these macros instead of random strings of nop in the various .S files
requiring hazard workarounds.
|
|
to context.S, to eventually allow alternate versions of exception.S to be used.
|
|
|
|
move from/to register instructions, as well as a NOP macro. These will be
used in a later diff to allow specific processors to use slightly different
instructions or encodings.
|
|
such statements with it.
|
|
|
|
has the references, and the rfc is not that relevant anyway;
|
|
This is a fixed version reinstating the previous commit, fix from
Christian Ehrhardt, same fix from brad@.
|
|
To be replaced with higher level C routines once we settle for a common
consistent set of atomic operations across platforms.
Discussed with and okay by deraadt@ and kettenis@.
|
|
These create essentially the same bootblocks, so the build system should not be
diverging too much, or at least easily diffable.
There is still a lot of work to be done here, but this is the low-hanging fruit.
ok jsing@
|
|
|
|
Based on a diff from Christian Ehrhardt.
|
|
|
|
|
|
|
|
Joint work with naddy@
ok naddy@ deraadt@
|
|
attach as scsi disks). These are paravirtualized devices offered by some
hypervisors like kvm and virtualbox.
The virtio transport driver has the pci specific parts separated out. This
will make it easier to add support for mmio (e.g. for ARM) later.
OK mikeb
OK jasper
"commit what you have" deraadt
|
|
floats on m88k. Agreed by miod@.
|
|
on this platform), so don't pretend it does, and don't build long double libm
routines.
|
|
Makes "make build" build with WARNINGS=Yes on amd64.
ok espie
|
|
tested, but it is time to get it in at least.
|
|
|
|
|
|
for all the compat layers which are now gone. Linux compat still works
because it always used another method in any case, and nothing looks at
p_os anymore.
ok jsing
|
|
|
|
thread switch in the hope the other thread can do some useful work.
|
|
|
|
|
|
long, leaving no space for a trailing NUL; ok kettenis@
|