Age | Commit message (Collapse) | Author | |
---|---|---|---|
2009-12-30 | curcpu()->ci_curpmap added. ok miod@ | Takuya ASADA | |
2009-12-28 | Fix compile error caused from previous commit | Takuya ASADA | |
2009-12-28 | MP-safe pmap implemented, enable IPI in interrupt handler to avoid deadlock. | Takuya ASADA | |
ok miod@ | |||
2009-12-25 | Pass both the virtual address and the physical address of the memory range | Miod Vallat | |
when invoking the cache functions. The physical address is needed when operating on physically-indexed caches, such as the L2 cache on Loongson processors. Preprocessor abuse makes sure that the physical address computation gets compiled out when running on a kernel compiled for virtually-indexed caches only, such as the sgi kernel. | |||
2009-12-25 | Don't bother returning a value in *_InvalidateICache(), as it's supposed to be | Miod Vallat | |
a void function. | |||
2009-12-13 | bit less aggressive about hiding; ok miod | Theo de Raadt | |
2009-12-12 | Protect more definitions userland doesn't need to care about with _KERNEL | Miod Vallat | |
2009-12-12 | Switch page size from 4KB to 16KB on R10k kernels without R5k support | Miod Vallat | |
(i.e. IP27 and IP30 sgi kernels). | |||
2009-12-12 | Introduce various CPU_### options to enable cpu-specific code or workarounds; | Miod Vallat | |
be sure to rerun config(8) on your kernel configuration files. | |||
2009-12-12 | unifdef -D__LP64__ | Miod Vallat | |
2009-12-11 | More changes to avoid truncating 64 bit pointers to 32 bits and sign-extending | Miod Vallat | |
them; allows userland with stack beyond 2GB to run. | |||
2009-12-08 | Unconditionnaly move kernel virtual memory space to XKSEG, now that previous | Miod Vallat | |
context.S fixes allows these settings to work for kernels linked in CKSEG0. | |||
2009-12-08 | In cpu_switchto(), correctly ignore CKSEG0 curprocpaddr (and do not update the | Miod Vallat | |
wired TLB entries). | |||
2009-12-08 | Use a whole page for msgbuf if page size is larger than 4KB, instead of | Miod Vallat | |
the current 8KB. | |||
2009-12-07 | Correctly skip available memory regions without (kernel) page aligned | Miod Vallat | |
boundaries, entirely contained within a kernel page; issue raised by drahn@ | |||
2009-12-07 | Sync VM_MIN_ADDRESS with __LDPGSZ again. | Miod Vallat | |
2009-12-07 | Support for 16KB page size kernels; page size is now set in <machine/param.h> | Miod Vallat | |
rather than <mips64/param.h>. For now, kernels are kept at 4KB to give people some time to build 16KB compatible binaries; this will change before the end of this release cycle. Use of 16KB page size kernels yields a 18% speedup (which, offset by the 1.6% slowdown caused by the pmap changes, yields a 16.6% overall speedup). | |||
2009-12-07 | If UPAGES would turn out to be 1, instead of using wired TLB entries to map | Miod Vallat | |
the u area after each context switch, simply convert it to an XKPHYS address, so that access to it never faults. Idea from NetBSD. | |||
2009-12-07 | Use a pool to manage pmap pte pages and top level segment table, instead of | Miod Vallat | |
directly allocating pages from uvm; this will allow us to eventually use a different kernel page size without having to alter the pmap structures layout. No functional change; measured slowdown of 1.6% for 4KB page kernels. | |||
2009-12-07 | When converting ARCBios memory spaces from ARCBios page size to the kernel | Miod Vallat | |
page size, be sure to pick the strictest interval so as not to incorrectly claim ARCBios reserved data not (kernel) page size aligned as free memory. No functional change since the kernel uses the same page size as ARCBios (at the moment). | |||
2009-12-07 | Be sure to always check tlbp return values for strictly negative values | Miod Vallat | |
to consider the probe as failed; tlb pair #0 does not deserve to be magic in any way. | |||
2009-12-07 | When trying to return to ARCBios on a 32 bit ARCBios machine (such as the O2), | Miod Vallat | |
disable interrupts and unconditionnaly use proc0 u area as the stack, so that once ARCBios loses the upper 32 bits of the stack pointer, accessing the stack does not fault (proc0 u area is allocated in CKSEG0 for this reason). | |||
2009-12-02 | use kstack for curprocpaddr instead of proc0paddr. | Takuya ASADA | |
ok miod@ | |||
2009-11-30 | Crank __LDPGSZ from 4KB to 16KB, in preparation for a kernel page size | Miod Vallat | |
increase as well. Binaries compiled before this change will not work once the kernel page size is cranked (in a few weeks), so you might want to update your userland and packages soon. | |||
2009-11-28 | missing #ifdef MULTIPROCESSOR protection around locking code. | Miod Vallat | |
2009-11-27 | Move MB_LEN_MAX into the machine-independent sys/limits.h header, | Philip Guenthe | |
rather than defining it separately for each architecture. Also set it to 4, to accommodate for future UTF-8 support (rfc3629). Diff by stsp, committing to catch the libc major bump ok kettenis@, guenther@ | |||
2009-11-27 | atomic counter increment for SMP. | Takuya ASADA | |
ok jsing@ | |||
2009-11-26 | Now IPI can interrupt to clock interrupt handler. | Takuya ASADA | |
It prevents deadlock with TLB shootdown and clock interrupt. ok miod@ | |||
2009-11-26 | initialize cpu_info correctly. | Takuya ASADA | |
ok miod@ | |||
2009-11-25 | IP30 IPI implementation. | Takuya ASADA | |
Also few xheart modification for SMP. ok miod@ | |||
2009-11-24 | smp_malloc() implemented. | Takuya ASADA | |
This function allocates memory using malloc or uvm_pglistalloc, then returns XKPHYS address of allocated memory. It's for avoid using virtual address on secondary cpus in early stage, and also in TLB handler. ok miod@ | |||
2009-11-22 | removing unnecessary locks. | Takuya ASADA | |
ok jsing@ | |||
2009-11-22 | ncpus, ncpufound values are corrected. | Takuya ASADA | |
ok miod@ | |||
2009-11-22 | SMP support on MIPS clock. | Takuya ASADA | |
ok miod@ | |||
2009-11-22 | Fix compile error in uniprocessor kernel. | Takuya ASADA | |
ok jsing@ | |||
2009-11-22 | Correct cording style. | Takuya ASADA | |
ok jsing@ | |||
2009-11-22 | Allow mips ports to override VM_{MIN,MAX}_KERNEL_ADDRESS, and provide the | Miod Vallat | |
address as a kernel variable for use by libkvm. On sgi IP27 and IP30 kernels, use XKSEG instead of CKSSEG; this will allow kernel KVM size to grow in the future if necessary. | |||
2009-11-21 | Fix uninitialized variables in db_stack_trace_print(), and honour the | Miod Vallat | |
frame count argument. | |||
2009-11-21 | mplock, rw_cas implemented | Takuya ASADA | |
ok miod@ | |||
2009-11-19 | Rename KSEG* defines to CKSEG* to match their names in 64 bit mode; also | Miod Vallat | |
define more 64 bit spaces. | |||
2009-11-19 | All callers of updateimask() immediately enable interrupts afterwards, so do | Miod Vallat | |
it in updateimask() itself. No functional change. | |||
2009-11-19 | Remove code allowing native binaries with O32 ABI to run, there aren't any... | Miod Vallat | |
2009-11-19 | Factor triplicated code responsible to add memory information into a | Miod Vallat | |
single place. | |||
2009-11-18 | Stricter type usage (width and signedness); first step towards 64 bit ptes. | Miod Vallat | |
2009-11-12 | typo | Miod Vallat | |
2009-11-07 | Replace option TGT_ORIGIN200 and TGT_ORIGIN2000 with a single option, | Miod Vallat | |
TGT_ORIGIN, which enables support for all IP27 and IP35 systems. The original two options have always been used together, and go back to when pefo thought supporting multiple nodes would be significant work. Since an Origin 200 can be a dual-node system, making a distinction between single node and multiple node systems is a moot point anyway. Be sure to rerun config(8) before rebuilding a kernel. | |||
2009-11-07 | Change sgi system identification from a single system type list, to a smaller | Miod Vallat | |
system type list (which really is the system family) and a subsystem type. No functional change yet. | |||
2009-11-04 | Get rid of __HAVE_GENERIC_SOFT_INTERRUPTS now that all our platforms support it. | Mark Kettenis | |
ok jsing@, miod@ | |||
2009-10-30 | Support IP30 secondary cpu bootup. ok miod@ | Takuya ASADA | |
2009-10-26 | Rename struct confargs to struct mainbus_attach_args for consistency and also | Miod Vallat | |
to prevent further abuse of it. |