summaryrefslogtreecommitdiff
path: root/sys/arch/mips64
AgeCommit message (Collapse)Author
2007-06-05use six new macros to access & store the 48-bit disklabel fields relatedTheo de Raadt
to size. tested on almost all machines, double checked by miod and krw next comes the type handling surrounding these values
2007-06-02Rename cvtdisklabelv1 -> disklabeltokernlabel. It does more than justKenneth R Westerback
convert version 0 to version 1 disklabels. Suggested by deraadt@. ok deraadt@ otto@
2007-05-31KNF, whitespace and comment rectification to make allKenneth R Westerback
bounds_check_with_label() routines as identical as possible without changing any code. Code nits and adjustments to come.
2007-05-31Standardize on -1 as the error return value forKenneth R Westerback
bounds_check_with_label. All callers check for <= 0, so no functional change. Feedback from miod@. ok weingart@
2007-05-30Q: How did _dmamap_sync() work before?Miod Vallat
A: It didn't.
2007-05-29Use atomic operations to operate on netisr, instead of clearing it at splhigh.Miod Vallat
This changes nothing on legacy architectures, but is a bit faster (and simpler) on the interesting ones.
2007-05-29Updated disklabel format to support larger disks and partitions. WeOtto Moerbeek
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@
2007-05-29Refactor readdisklabel() to ensure there is a single point of return, inKenneth R Westerback
preparation for translating all disk labels visible to the kernel to the soon to arrive V1 format. ok otto@ deraadt@
2007-05-28Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSETThordur I. Bjornsson
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@
2007-05-27pagemove() is no longer used.Miod Vallat
2007-05-27Always use XKPHYS addresses to perform cache operations now, for consistency.Miod Vallat
2007-05-25Edge cases can trigger a TLB miss exception instead of an invalid TLBMiod Vallat
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.
2007-05-25Unifdef TLB_TRACE and TLBTRACE, no functional change.Miod Vallat
2007-05-20Remove unused badaddr().Miod Vallat
2007-05-16The world of __HAVEs and __HAVE_NOTs is reducing. All architecturesArtur Grabowski
have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
2007-05-09Change trap() into a void function, and restore pc from the trapframe insteadMiod Vallat
of having trap() return it. This makes trap() consistent with other platforms, and its code smaller.
2007-05-09In cpu_fork(), enable all known interrupt sources in cop0 sr/ic, so thatMiod Vallat
kthreads start with interrupts enabled.
2007-05-09Comment out ``generic'' interrupt routines, which are not used at the moment.Miod Vallat
2007-05-09When entering the idle loop, do a real spl0 (processing soft interrupts)Miod Vallat
instead of simply lowering cpl to zero.
2007-05-07Remove symbols already defined in <sys/limits.h>; unbreaks build on sgi.Mark Kettenis
ok miod
2007-05-07Check for astpending in u_general (userland traps) in addition to u_intrMiod Vallat
(hardware interrupts occuring while cpu is in usermode), fixes regress/sys/kern/sig-stop on sgi.
2007-05-07Move sgo to __HAVE_CPUINFO.Mark Kettenis
ok miod@
2007-05-03Enable support for > 512MB of physical memory on mips64 systems, by usingMiod Vallat
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.
2007-05-01ELF symbol type fixes, no code changeMiod Vallat
2007-05-01Provide <machine/lock.h> on all platforms, so that MI code may #include itMiod Vallat
unconditionnaly.
2007-04-29The cpu clock frequency we get from ARCBIOS may be off by something in theMark Kettenis
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@
2007-04-27In pmap_enter_pv(), when uncaching a page due to a VAC conflict, only flushMiod Vallat
the existing cached va range, instead of the whole cache. Tested on rm5200 and r12k.
2007-04-27Remove unused macros, and make sure the remaining one do not truncate theMiod Vallat
high 32 bits of addresses.
2007-04-27More pmap changes from the potpourri pool:Miod Vallat
- 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.
2007-04-26Do not allow userland to change cop0 SR via ptrace; from NetBSD.Miod Vallat
2007-04-26Be more careful when changing cop0 SR value; or flags in instead of settingMiod Vallat
the SR value to them, and correctly propagate the SR to userland via proper proc0 initialization and cpu_fork() care.
2007-04-26Do not invoke arcbios routines from the moment our page tables are set up,Miod Vallat
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.
2007-04-24It's never too late to write "too late" correctly.Miod Vallat
2007-04-24exeption -> exceptionMiod Vallat
2007-04-20Segment tables are integral multiples of the page size in LP64 mode, soMiod Vallat
do not manage a freelist ourselves, but release them in pmap_destroy().
2007-04-16Crank MAXPHYS to the regular 64KB.Miod Vallat
2007-04-14Crank KVM from a ridiculous pedro-sized 256MB to 1GB; needed for upcoming MIMiod Vallat
changes.
2007-04-14Correctly handle pv_flags for pages used to store ptes, so that theyMiod Vallat
are in a correct state when we uvm_pagefree() them.
2007-04-10Remove long dead definitions. No functional change.Miod Vallat
2007-04-05delete userland DELAY() version; ok miodTheo de Raadt
2007-03-27When trap() causes a panic, have stacktrace() use ddb to find the symbolMiod Vallat
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.
2007-03-27Try and print symbol-relative addresses for branches, and displayMiod Vallat
delay slots instructions correctly.
2007-03-23Real atomic_{set,clear}bits_int implementation, and replace similarMiod Vallat
{set,clr}_ipending with the above routines. ok kettenis@
2007-03-22Change yet another kernel message starting with `<'.Miod Vallat
2007-03-21Mips_IOSyncDCache last argument is in the 0..2 range, not -1..1, so letMiod Vallat
C and asm code agree on this; this causes no functional change on r10k and fewer wt invalidates on r5k. ok kettenis@
2007-03-15Since p_flag is often manipulated in interrupts and without biglockArtur Grabowski
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
2007-02-24Remove unused B_DIRTY, B_PAGET, B_PGIN, B_TAPE and B_UAREA b_flags values.Miod Vallat
2007-02-19only make this interface available to the kernel for now, discussed withaTheo de Raadt
rt and such; tested and ok miod drahn
2007-02-18Remove #ifdef/#endif's around MBR checking code. Remove now unusedKenneth R Westerback
option DISKLABEL_I386. ok deraadt@
2007-02-18If no MBR partitions are found when spoofing a disklabel, try lookingKenneth R Westerback
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@