summaryrefslogtreecommitdiff
path: root/sys/arch/atari/include
AgeCommit message (Collapse)Author
2023-03-25s/resultion/resolution/ in comment.andvar
2023-03-25s/Predective/Predictive/ and s/dedected/detected/ in comments.andvar
2023-01-27Remove extra tabs.tsutsui
2023-01-06TAB/spaces/indents cleanup.tsutsui
2022-07-03Move the iomem extent stuff managed by bus_space(9) and make them static.tsutsui
Inspired by MD bus_space(9) implemantation of arc. Briefly tested on TT030.
2022-07-03fix various typos in comments, mainly s/pallete/palette/.andvar
2022-04-21s/substract/subtract/ in comments and error message.andvar
s/obtainted/obtained/ in one comment.
2021-04-02For ports with __HAVE_LEGACY_INTRCNT, turn intrcnt[] and derivedrin
variables into u_int, to match with kern/subr_evcnt.c.
2021-04-01Define __HAVE_LEGACY_INTRCNT to indicate this port uses legacy intrcntsimonb
interrupt accounting.
2021-04-01Whitespace: #define<tab>simonb
2021-01-23Document via __HAVE_BUS_SPACE_8 platforms that implement bus_space_*_8christos
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-05-07Switch all users (except ia64) of custom machine/ansi.h to common_ansi.hkamil
Deduplicate the code among ports and poll definitions of types directly from a compiler. This fixes miscompilation of certain programs that instruct compilers to generate code for different types. This bug has been detected with -fshort-wchar in EFI firmware. Proposed and discussed on a mailing list (twice). Itanium uses custom !ELF fallback switch, temporarily leave it as it is.
2019-03-27- expose vmparams to userland on arm, like other archs do.christos
- remove unneeded includes
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.
2018-02-26Add dumb memory probe routines for Milan to use all available memory.tsutsui
Tested on Milan with 32Mx1, 32Mx4, 128MBx1, and 128MBx3. (bootloader ROM fails to load TOS with 128MBx4) No particular comment on port-atari@: http://mail-index.netbsd.org/port-atari/2018/02/09/msg000580.html
2017-11-06Cleanup and clarify the ELFSIZE mess:christos
We now have 2 variables automatically set in elf_machdep.h: ARCH_ELFSIZE: the size for userland binaries KERN_ELFSIZE: the size for the kernel binaries DB_ELFSIZE has been deleted and KERN_ELFSIZE should have always the same values DB_ELFSIZE used to have. In sys/exec_elf.h, if ELFSIZE is not set, it is set to KERN_ELFSIZE for the kernel and ARCH_ELFSIZE for userland. These defaults should eliminate the need for most manual ELFSIZE setting.
2017-10-07Merge support for SATA NCQ (Native Command Queueing) from jdolecek-ncq branchjdolecek
ATA subsystem was changed to support several outstanding commands, and use NCQ xfers if supported by both the controller and the disk, including NCQ error recovery. Set NCQ high priority for BPRIO_TIMECRITICAL xfers if supported. Added FUA support. Done some work towards MP-safe, all ATA code tsleep()/wakeup() replaced by condvars, and switched most code from spl* to mutexes (separate wd(4) and ata channel lock). Introduced new option WD_CHAOS_MONKEY to facilitate testing of error handling, fixed several uncovered issues. Also fixed several problems with kernel dump to wd(4) disk. Tested with ahcisata(4), mvsata(4), siisata(4), piixide(4) on amd64, with and without port multiplier, both disk and ATAPI devices; other drivers and archs mechanically adjusted and compile-tested. NCQ is supported for ahcisata(4) and siisata(4) for any controller, for mvsata(4) only Gen IIe ones for now. Also enabled ATAPI support in mvsata(4). Thanks to Matt Thomas for initial ATA infrastructure patch, and Jonathan A.Kollasch for siisata(4) NCQ changes and general testing. Also fixes PR kern/43169 (wd(4)); and PR kern/11811, PR kern/47041, PR kern/51979 (kernel dump)
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
2016-10-18add isa_intr_establish_xname() to MD isa headers so that it can be usedjdolecek
by MI drivers
2015-12-24fenv for m68kchristos
2015-09-07Final bit of PR 41200: headers that declare ioctls should include sys/ioccom.h.dholland
This covers most if not all of the MD headers. XXX: a lot of the ioctl definitions in some of these files are cutpasted.
2014-10-18src is too big these days to tolerate superfluous apostrophes. It'ssnj
"its", people!
2014-07-26Reorganize and bump VM related constants.tsutsui
- sync VM_MAXUSER_ADDRESS and VM_MAX_ADDRESS with other hp300 derived ports and use same definitions for USRSTACK as other m68k ports (no worth to have sun3/sunos compat in these days) - remove unused KUSER_AREA - bump MAXTSIZ, MAXDSIZ, and MAXSSIZ These changes allow my 64MB TT030 build pkgsrc/textproc/icu which seems to require >200MB VA space. (note our current 040/060 pmap implementation can't handle >224MB VA size)
2014-03-29make pci_intr_string and eisa_intr_string take a buffer and a lengthchristos
instead of relying in local static storage.
2013-10-19make cpu_need_resched() macros consistent; __USE flagschristos
2012-10-27split device_t/softc for all remaining drivers.chs
replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
2012-08-10Appease gcc -fno-common:tsutsui
- remove physmem from machdep.c since it's initialized in atari_init.c - declare I/O address space variables properly Compile test only. (currenty my TT030 is busy on pkgsrc builds)
2012-03-28- Normalize inclusion protection (remove)christos
- Move CHAR_{MIN,MAX} to a common file. - Fix broken comments
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-18Restore __HAVE_MM_MD_READWRITE which was added for 5.99.53 in rev 1.14tsutsui
but removed by merge botch on __HAVE_NEW_STYLE_BUS_H changes in rev 1.15. Fixes "/dev/nvram: Device not configured" problem on installboot(8) reported by David Ross.
2011-11-15Merge copy-and-pasted fpu_probe() function (to share it among more m68k ports).tsutsui
Tested on TT030, Sun3/80, and X68030.
2011-10-01fix build errors with gcc 4.5.chs
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-17Switch to new-style <sys/bus.h>.dyoung
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-07-01#include <sys/bus.h> instead of <machine/bus.h>.dyoung
2011-07-01Per discussion atdyoung
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>, divide each machine's bus.h into bus_defs.h (constants & data types) and bus_funcs.h (macro implementations of bus_space(9) routines and MD prototypes). Note that some bus_space(9) routines' implementation will move to .c files from inline subroutines or macros in .h files. I've only made the split for machine architectures where there is PCI. All of the non-PCI-having architectures will require a similar split. These #include files are not referenced by any (committed) Makefiles or header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some more machine-dependent files will dribble in before I throw the switch.
2011-06-12Welcome to 5.99.53! Merge rmind-uvmplock branch:rmind
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock. - Simplify locking in some pmap(9) modules by removing P->V locking. - Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs). - Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns. - Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues. Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
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-04-04Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),dyoung
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match predicate passed to pciide_compat_intr_establish() should ever modify their pci_attach_args argument, so make their pci_attach_args arguments const and deal with the fallout throughout the kernel. For the most part, these changes add a 'const' where there was no 'const' before, however, some drivers and MD code used to modify pci_attach_args. Now those drivers either copy their pci_attach_args and modify the copy, or refrain from modifying pci_attach_args: Xen: according to Manuel Bouyer, writing to pci_attach_args in pci_intr_map() was a leftover from Xen 2. Probably a bug. I stopped writing it. I have not tested this change. siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args. Probably a bug. I use a temporary variable. I have not tested this change. slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args. Probably a bug. Use a local pci_attach_args. I have not tested this change. viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the caller's pci_attach_args. Probably a bug. Make a local copy of the caller's pci_attach_args and modify the copy. I have not tested this change. While I'm here, make pci_mapreg_submap() static. With these changes in place, I have tested the compilation of these kernels: alpha GENERIC amd64 GENERIC XEN3_DOM0 arc GENERIC atari HADES MILAN-PCIIDE bebox GENERIC cats GENERIC cobalt GENERIC evbarm-eb NSLU2 evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200 KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425 evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3 evbmips64-el XLSATX evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266 OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT hp700 GENERIC i386 ALL XEN3_DOM0 XEN3_DOMU ibmnws GENERIC macppc GENERIC mvmeppc GENERIC netwinder GENERIC ofppc GENERIC prep GENERIC sandpoint GENERIC sgimips GENERIC32_IP2x sparc GENERIC_SUN4U KRUPS sparc64 GENERIC As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels with or without my patches in place: ### evbmips-el GDIUM nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop ### evbarm-el MPCSA_GENERIC src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc' ### ia64 GENERIC /tmp/genassym.28085/assym.c: In function 'f111': /tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb' /tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type ### sgimips GENERIC32_IP3x crmfb.o: In function `crmfb_attach': crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid' crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid' crmfb.c:(.text+0x234c): undefined reference to `edid_parse' crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse' crmfb.c:(.text+0x2354): undefined reference to `edid_print' crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
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@.
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.