summaryrefslogtreecommitdiff
path: root/sys/arch/cesfic/include
AgeCommit message (Collapse)Author
2021-04-01Define __HAVE_LEGACY_INTRCNT to indicate this port uses legacy intrcntsimonb
interrupt accounting.
2020-02-01Add MAX/MIN PAGE_SIZE and PAGE_SHIFT definitions of m68k for jemalloc(3).tsutsui
Background: - All m68k ports have fixed PAGE_SIZE value in their kernels, but each port uses different PAGE_SIZE value (4096 or 8192) due to historical reasons. - Currently module(7) binaries are built per each port so all m68k kernel sources don't support run-time variable PAGE_SIZE. - MI <uvm/uvm_param.h> assumes that the port supports a variable PAGE_SIZE on module(7) builds if both MAX_PAGE_SIZE and MIN_PAGE_SIZE are defined and they have different values. - On the other hand, jemalloc(3) checks MAX_PAGE_SHIFT in src/external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h for internal optimization. - m68k ports share userland binaries (especially pkgsrc binaries) among all ports, so we need to define MAX_PAGE_SHIFT as 13 to support m68k ports where PAGE_SIZE==8192. (though this would affect only if static binaries built on 4k page hosts are executed on 8k page hosts) To solve these inconsistency on PAGE_SIZE definitions, we should have an independent PAGE_SIZE related definitions for userland, but it requires major reorganization. For now (especially for netbsd-9) we define MAX/MIN PAGE_SIZE and PAGE_SHIFT values in <m68k/vmparam.h> only in !defined(_KERNEL) case. Discussed on source-changes-d@ and tech-kern@ with christos@ and thorpej@: https://mail-index.netbsd.org/source-changes-d/2020/01/thread1.html#012035 https://mail-index.netbsd.org/tech-kern/2020/01/thread1.html#025954 Should be pulled up to netbsd-9.
2019-11-23cpu_need_resched():ad
- Remove all code that should be MI, leaving the bare minimum under arch/. - Make the required actions very explicit. - Pass in LWP pointer for convenience. - When a trap is required on another CPU, have the IPI set it locally. - Expunge cpu_did_resched().
2019-09-23Provide PRIxBUSADDR, PRIxBUSSIZE, PRIuBUSSIZE, and PRIxBSH for all archesskrll
to follow arm and (generic) mips. Reviewed by christos.
2019-06-28Fix lingering page size comments.tsutsui
Pointed out by christos@ on port-m68k@: http://mail-index.netbsd.org/port-m68k/2019/06/06/msg000726.html XXX: we also need MAX_PAGE_SIZE in somewhere for newer jemalloc?
2019-02-18Refactor the 68040 writeback() from each m68k port's trap handler into athorpej
shared copy: m68040_writeback(). It is essentially a copy of the Atari version, with some minor cosmetic tweaks and one small performance optimization from the mvme68k port. Tested by rjs@ on a Quadra 950. (Thanks!)
2018-12-19Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,maxv
but also as discussed several times in the past.
2018-08-22- Cleanup for dynamic sysctl:msaitoh
- Remove unused *_NAMES macros for sysctl. - Remove unused *_MAXID for sysctls. - Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and use them on all m68k machines.
2018-07-12Remove the kernel PMC code. Sent yesterday on tech-kern@.maxv
This change: * Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good. * Removes the PMC code of ARM XSCALE. * Removes all the pmc.h files. They were all empty, except for ARM XSCALE. * Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h. * Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump. * Removes the pmc_evid_t and pmc_ctr_t types. * Removes all the associated man pages. The sets are marked as obsolete.
2017-02-02PR port-mac68k/51923rin
Bump default MAXTSIZ to 32MB for m68k ports, which allos us to use GCC 5.4 on GENERIC kernels. Ok jklos
2017-02-02PR port-mac68k/51923rin
Remove unused SYSPTSIZE and USRPTSIZE from m68k ports. Ok jklos
2017-01-14protect against multiple inclusion.christos
2016-12-17Fix typo "one the" and architecture where appropriate.flxd
2015-12-24fenv for m68kchristos
2013-10-19make cpu_need_resched() macros consistent; __USE flagschristos
2012-05-07Add dummy bus_dma(9) typedefs (enabled by __HAVE_NO_BUS_DMA) in <sys/bus.h>tsutsui
for ports which don't bother to have unnecessary bus_dma(9) implementation to appease MI driver modules that require bus_dma_tag_t. For amiga, move <m68k/bus_dma.h> inclusion from <machine/pci_machdep.h> to <machine/bus.h> since amiga will want actual bus_dma(9) in future for PCI devices. Fixes builds on sys/modules/if_axe etc on ancient ports. "Sounds good" from martin@ on port-m68k@.
2012-02-10proper sizing of kmem_arena on different portspara
PR port-i386/45946: Kernel locks up in VMEM system
2012-02-02Always include <m68k/cpu.h> (i.e. outside #if defined(_KERNEL))tsutsui
for crash(8) as amiga and sun3. There are _KERNEL protections in it. Briefly tested by "build.sh -m news68k -U build". Further possible botch will be fixed later.
2011-12-22No need to include <m68k/softintr.h>.tsutsui
Old softintr(9) was superseded by MI softint(9).
2011-08-30Add getlabelusesmbr(), as proposed inbouyer
http://mail-index.netbsd.org/tech-userlevel/2011/08/25/msg005404.html This is used by disk tools such as disklabel(8) to dynamically decide is the undelyling platform uses a disklabel-in-mbr-partition or not (instead of using a compile-time list of ports). getlabelusesmbr() reads the sysctl kern.labelusesmbr, takes its value from the machdep #define LABELUSESMBR. For evbmips, make LABELUSESMBR 1 if the platform uses pmon as bootloader, and 0 (the previous value) otherwise.
2011-07-17Retire varargs.h support. Move machine/stdarg.h logic into MIjoerg
sys/stdarg.h and expect compiler to provide proper builtins, defaulting to the GCC interface. lint still has a special fallback. Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and derive va_list as required by standards.
2011-05-16- merge and move pasted m68k MD setreg() functions into m68k/m68k_machdep.ctsutsui
- move m68881_save() and m68881_restore() declarations into <m68k/m68k.h> Briefly tested and no obvious breakage on atari, sun3, and x68k.
2011-02-08Remove clause 3 (UCB advertising clause) from the University of Utahrmind
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks! Also, merge UCB and Utah copyright texts back into one, as they originally were. Extra verification by snj@.
2011-01-14Retire struct user, remove sys/user.h inclusions. Note sys/user.h headerrmind
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros. Various #include fixes and review by matt@.
2011-01-02Add a dummy <machine/bus.h> which nows seems to be mandatory in MI codetsutsui
including <sys/bus.h> even if a port doesn't use it. Taken from sbmips.
2010-12-22Collect cpu_info and friends and move to m68k/include/cpu.hmatt
Add a define __HAVE_CPU_DATA_FIRST which means that cpu_data is the first member in struct cpu_info.
2010-11-06Remove incomplete, never worked dynamic run-time memory registrationuebayasi
(uvm_page_physload(9)). This functionality will be re-added later.
2010-06-06fix PR 6724 - convert m68k options to defflag's. this means thatmrg
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned in the PR has already been fixed, and i could not find any more. i built these kernels to ensure i did not break their builds: amiga: GENERIC DRACO atari: HADES FALCON MILAN-PCIIDE mac68k: GENERIC sun2: GENERIC sun3: GENERIC GENERIC3X cesfic: attempted GENERIC, does not build due to lack of machine/bus.h hp300: GENERIC luna68k: GENERIC mvme68k: GENERIC news68k: GENERIC next68k: GENERIC x68k: GENERIC
2009-12-11Refactoring MD segment related definitions on m68k ports:tsutsui
- move macro SEGSHIFT, NBSEG, and SEGOFSET from <machine/param.h> to <m68k/pmap_motorola.h> where they should belong - also simplify NBSEG macro for both 020/030 and 040/060 cases - also move m68k_trunc_seg(), m68k_round_seg(), and m68k_seg_offset() (that use SEGOFSET) from <m68k/param.h> to <m68k/pmap_motorola.h> - add comments about each segment size value used on pmap_motorola implementation - add TIA_SIZE, TIA_SHIFT, TIB_SIZE, and TIB_SHIFT macro which can be used for ste/pte index sizes - use proper vaddr_t cast instead of unsigned for SEGOFSET/PGOFSET macro Tested on atari, hp300, and news68k.
2009-12-09Fix wrong NBSEG values for all hp300 pmap derived m68k ports.tsutsui
They were incorrect since 1997 on amiga and atari, and since 2002 on other ports, but fortunately they don't look so fatal. Anyway, these values will be moved into <m68k/pmap_motorola.h> soon since they are quite pmap implementation dependent.
2009-12-08Use PGSHIFT from <machine/param.h> for PAGE_SHIFT.tsutsui
We can assume PGSHIFT is always constant on current m68k pmap_motorola implementation. Also fix some leftover HP300 comments on some ports.
2009-10-21Remove uarea swap-out functionality:rmind
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases. Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>). Discussed on <tech-kern>, reviewed by <ad>.
2009-08-26Minor tweak to the pv_table management in the Hibler-derived m68k pmaps:thorpej
The head of the list is now a pv_header, which contains the first pv_entry as well as a 16-bit attributes field (replaces the pmap_attributes array plus the pv_entry::pv_flags field) as a 16-bit count of caller-specified cache-inhibited mappings. Tested on hp300 (shared pmap_motorola.c), changes to atari and amiga copies are purely mechanical.
2009-03-14Remove all the __P() from sys (excluding sys/dist)dsl
Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
2009-03-06Remove SHMMAXPGS from all kernel configs. Dynamically compute thejoerg
initial limit as 1/4 of the physical memory. Ensure the limit is at least 1024 pages, the old default on most platforms.
2008-06-22Unify splraiseipl(9) implementation among m68k ports as pertsutsui
suggestion from isaki@ on port-m68k. For cesfic (compile test only): - use static splraise4() for splvm() and remove isrcomputeipl() for IPL_VM because this port supports only one model - make makeiplcookie(9) return PSL bits via ipl2psl_table[] rather than ipl indexes - make ipl2psl_table[] uint16_t rather than int
2008-03-29Split softc and device_t for zsc(4) and its children.tsutsui
XXX we should restructure MI APIs and make it really machine independent.
2008-02-27Remove CTL_MACHDEP_NAMES, it's not used anywhere.xtraeme
Ok by martin@.
2008-01-20Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,joerg
remove the conditionals and the code associated with the undef case.
2007-12-03Interrupt handling changes, in discussion since February:ad
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
2007-11-07Merge tty changes from the vmlocking branch.ad
2007-10-17Merge the ppcoea-renovation branch to HEAD.garbled
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here. TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted. NOTES: pmppc was removed as an arch, and moved to a evbppc target.
2007-08-04Add ci_cpuid where it's missing.ad
2007-07-14Generic soft interrupts are mandatory.ad
2007-05-21Move declarations of m68k common functionstsutsui
from <machine/cpu.h> to <m68k/m68k.h>. While here, remove some obsolete function decls.
2007-05-21Adapt rest of m68k ports to yamt-idlelwp. Compile tested only.tsutsui
2007-05-20Add missing call to lwp_startup() in lwp_trampoline() (which was renamedmhitch
from proc_trampoline to match the other ports). A DIAGNOSTIC kernel will now boot and run. LOCKDEBUG still doesn't work yet. Also, my amiga no longer loses time.
2007-03-11- Shrink ipl_cookie_t from 32-bits to 16-bits (large enough to holdthorpej
an SR value or an IPL_* constant). - Take advange of the smaller ipl_cookie_t to shrink kmutex_t from 16 bytes to 8 bytes by overlapping storage where possible. - Implement a RAS-based _lock_cas() for mc68010 systems (Sun2). See sun68k/sun68k/isr.c. Tested on various m68k platforms, but NOT Sun2. In any case, at least Sun2 compiles now.
2007-03-05MI softintr(9)'fy. Untested.tsutsui
This port needs much more cleanups, it seems...
2007-03-04Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.christos