Age | Commit message (Collapse) | Author |
|
to size. tested on almost all machines, double checked by miod and krw
next comes the type handling surrounding these values
|
|
convert version 0 to version 1 disklabels.
Suggested by deraadt@.
ok deraadt@ otto@
|
|
bounds_check_with_label() routines as identical as possible without
changing any code. Code nits and adjustments to come.
|
|
bounds_check_with_label. All callers check for <= 0, so no functional
change.
Feedback from miod@.
ok weingart@
|
|
A: It didn't.
|
|
This changes nothing on legacy architectures, but is a bit faster (and simpler)
on the interesting ones.
|
|
free room in struct partition by packing fragment size and
fragments/block more tighlty and use the resulting space to make
offset and size 48 bits. For the disk part we use spare fields in
struct disklabel. Kernel converts in-mem copy of the on-disk
label if needed, disklabel(8) writes new version.
We are careful to only change fields not used by bootloaders.
Conception of basic scheme by deraadt.
ok deraadt@ krw@
|
|
preparation for translating all disk labels visible to the kernel to
the soon to arrive V1 format.
ok otto@ deraadt@
|
|
mbuf constants from MD param.h to MI param.h.
Besides being the same on every arch, things will
most probly break if any arch has different values
then the others.
The NMBCLUSTERS constants needs to be MD though;
ok miod@,krw@,claudio@
|
|
|
|
|
|
exception on early R5000 revisions. Despite this bug being supposedly
fixed in R5000 revision 2 onwards, it nevertheless occurs quite frequently
on matthieu's revision 2.1 R5000.
Servicing the TLB miss exception would cause a duplicate TLB to be inserted,
which causes the processor operation to become unpredictable (but lethal to
the kernel, ten times out of nine).
More details about the problem can be found in:
http://www.linux-mips.org/archives/linux-mips/2000-02/msg00040.html
We work around the issue by checking for an existing TLB entry, and handling
this as an invalid TLB exception (as it was intended to be), in this case.
Unfortunately this causes a measurable 1% slowdown on ``safe'' processors,
so we'll work on providing different tlb handler flavours in the near future
to recover from this.
|
|
|
|
|
|
have cpu_info now, so kill the option.
eyeballed by jsg@ and grange@
|
|
of having trap() return it. This makes trap() consistent with other
platforms, and its code smaller.
|
|
kthreads start with interrupts enabled.
|
|
|
|
instead of simply lowering cpl to zero.
|
|
ok miod
|
|
(hardware interrupts occuring while cpu is in usermode), fixes
regress/sys/kern/sig-stop on sgi.
|
|
ok miod@
|
|
XKPHYS instead of KSEG[01] for direct mappings.
Then, detect memory above 256MB on O2 by poking at the CRIME registers
(ARCbios will not report memory above 256MB, which is mapped above 1GB
physical, to the system), and add it to the UVM managed memory.
Tested on r5k, rm5200 and r10k with and without more than 256MB, matching
hinv reports in all cases. CRIME memory decoding based on a diff from
kettenis@ in december 2005.
|
|
|
|
unconditionnaly.
|
|
order of 1%. So calibrate the CP0 timecounter frequency using the TOD clock
if we have one.
"looks like good stuff" deraadt@, also tested by jsg@
|
|
the existing cached va range, instead of the whole cache.
Tested on rm5200 and r12k.
|
|
high 32 bits of addresses.
|
|
- use wm_page pg_flags pmap-reserved flags to store attributes, instead of
defining a vm_page_md field.
- use atomic operations to touch the above mentioned flags.
- never create ptes with PG_RO and PG_M set (this was harmless anyway).
- in pmap_clear_modify(), do not flush cache if the page was mapped uncached.
Tested on r5k, rm5200, r10k and r12k.
|
|
|
|
the SR value to them, and correctly propagate the SR to userland via proper
proc0 initialization and cpu_fork() care.
|
|
to the moment we reboot, for we do not know what it can do behind our back;
this means the built-in ethernet address has to be read from the arcbios
environment earlier.
|
|
|
|
|
|
do not manage a freelist ourselves, but release them in pmap_destroy().
|
|
|
|
changes.
|
|
are in a correct state when we uvm_pagefree() them.
|
|
|
|
|
|
names if option DDB, instead of the fn_name() helper which only knows about
trap() anyway.
While there, do not attempt to print the function arguments after the first
frame, since they are known to be clobbered.
|
|
delay slots instructions correctly.
|
|
{set,clr}_ipending with the above routines.
ok kettenis@
|
|
|
|
C and asm code agree on this; this causes no functional change on r10k
and fewer wt invalidates on r5k. ok kettenis@
|
|
it's a good idea to use atomic.h operations on it. This mechanic
change updates all bit operations on p_flag to atomic_{set,clear}bits_int.
Only exception is that P_OWEUPC is set by MI code before calling
need_proftick and it's automatically cleared by ADDUPC. There's
no reason for MD handling of that flag since everyone handles it the
same way.
kettenis@ ok
|
|
|
|
rt and such; tested and ok miod drahn
|
|
option DISKLABEL_I386.
ok deraadt@
|
|
for a bare FAT12/16/32 filesystem. If one is found, spoof it as 'i'.
This enables iPod shuffles and other umass devices that are shipped
with a bare FAT32 filesystem to be used as install media. And
generally makes things easier for the user just trying to mount some
media, e.g. floppies.
Does not make it safe to write a disklabel or MBR on such a device!
That will still obliterate the FAT filesystem.
Help and suggestions from tom@ and deraadt@. Feedback and suggestions
for future enhancements from espie@ mickey@ and peter@.
ok tom@ deraadt@
|