summaryrefslogtreecommitdiff
path: root/sys/arch/atari
AgeCommit message (Collapse)Author
2004-01-06Make these compile again after the latest adjustments.he
2004-01-04Spell controller with two ls. Inspired by miod@openbsd.wiz
2004-01-04Rearrange process exit path to avoid need to free resources from differentjdolecek
process context ('reaper'). From within the exiting process context: * deactivate pmap and free vmspace while we can still block * introduce MD cpu_lwp_free() - this cleans all MD-specific context (such as FPU state), and is the last potentially blocking operation; all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free() * process is now immediatelly marked as zombie and made available for pickup by parent; the remaining last lwp continues the exit as fully detached * MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same for both 'process' and 'lwp' exit uvm_lwp_exit() is modified to never block; the u-area memory is now always just linked to the list of available u-areas. Introduce (blocking) uvm_uarea_drain(), which is called to release the excessive u-area memory; this is called by parent within wait4(), or by pagedaemon on memory shortage. uvm_uarea_free() is now private function within uvm_glue.c. MD process/lwp exit code now always calls lwp_exit2() immediatelly after switching away from the exiting lwp. g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-03More wdc_channel structure member namespace cleanup:thorpej
- channel -> ch_channel - wdc -> ch_wdc
2004-01-03Rename "struct channel_softc" to "struct wdc_channel".thorpej
2004-01-01Rename:thorpej
- wdc_xfer to ata_xfer - channel_queue to ata_queue and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA controllers. Clean up the member names of these structures while at it.
2003-12-31Simplfy allocation of the channel queue.thorpej
2003-12-30Replace the traditional buffer memory management -- based on fixed per bufferpk
virtual memory reservation and a private pool of memory pages -- by a scheme based on memory pools. This allows better utilization of memory because buffers can now be allocated with a granularity finer than the system's native page size (useful for filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation of virtual to physical memory mappings (due to the former fixed virtual address reservation) resulting in better utilization of MMU resources on some platforms. Finally, the scheme is more flexible by allowing run-time decisions on the amount of memory to be used for buffers. On the other hand, the effectiveness of the LRU queue for buffer recycling may be somewhat reduced compared to the traditional method since, due to the nature of the pool based memory allocation, the actual least recently used buffer may release its memory to a pool different from the one needed by a newly allocated buffer. However, this effect will kick in only if the system is under memory pressure.
2003-12-16Replace cmd_ioh with cmd_baseioh, to track changes to wdcvar.h, sohe
that this compiles again. Untested for now. Reviewed by leo.
2003-12-14Split the Intel i31244 SATA controller ("Artisea") driver out of piixidethorpej
into its own driver (artsata).
2003-12-13Collapse the atabus declaration into "atabus* at ata? channel ?".thorpej
2003-12-13Split out the Silicon Image SATALink support into its own driver,thorpej
"satalink".
2003-12-10Change reference at bottom from sys/dev/majors to sys/conf/majors to matchjmc
reality
2003-12-09Make libsa build first as other items depend on it (for -j builds)jmc
2003-12-04Dynamic sysctl.atatat
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(), vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all nodes are registered with the tree, and nodes can be added (or removed) easily, and I/O to and from the tree is handled generically. Since the nodes are registered with the tree, the mapping from name to number (and back again) can now be discovered, instead of having to be hard coded. Adding new nodes to the tree is likewise much simpler -- the new infrastructure handles almost all the work for simple types, and just about anything else can be done with a small helper function. All existing nodes are where they were before (numerically speaking), so all existing consumers of sysctl information should notice no difference. PS - I'm sorry, but there's a distinct lack of documentation at the moment. I'm working on sysctl(3/8/9) right now, and I promise to watch out for buses.
2003-11-10Spell address with two d's. Inspired by similar changes in OpenBSD,wiz
originating from Jonathon Gray and forwarded by jmc@openbsd.
2003-11-08Remove obsolete comments about curproc.tsutsui
2003-11-04Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead.dsl
Remove p_raslock and rename p_lwplock p_lock (one lock is enough). Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS. Avoid unpredictable branch in i386 locore.S (pad fields left in struct proc to avoid kernel bump)
2003-11-02Extend the #ifdef M68040 so that the `sig' variable declaration is movedhe
in as well, as it's otherwise not used.
2003-11-01g/c local index() routine and switch to (libkern's) strchr()jdolecek
2003-10-31Reduce code duplication by adding mi_userret() in sys/userret.hcl
containing signal posting, kernel-exit handling and sa_upcall processing. XXX the pc532, sparc, sparc64 and vax ports should have their XXX userret() code rearranged to use this.
2003-10-28Include <stdlib.h> to pick up exit() prototype.he
2003-10-28Add -ffreestanding to CFLAGS, so that libsa prototypes do not conflicthe
with otherwise built-in functions and prototypes in the new gcc.
2003-10-28Add include of <string.h> to pick up strlen() prototype.he
2003-10-28Rename those assembly files which should be passed through the Che
preprocessor from .s to .S to pick up CPPFLAGS.
2003-10-24add necessary majors for miscellaneous devices, such as missingjdolecek
wscons/scsi/isdn devices
2003-10-22add wsfont major to archs which have the other wscons devicesjdolecek
2003-10-10reassing majors for crypto and pf to use the newly defined MI majorjdolecek
range
2003-10-10update the comment - the space for machine-dependant majorsjdolecek
is reduced to 0-143 follows discussion on tech-kern
2003-10-08pciide_machdep.c depends on pciide_common, not pciide.bouyer
Pointed out and fix tested by Marc Recht.
2003-10-08Regen: Add new per-chip pciide drivers.bouyer
2003-10-08Add new per-chip pciide drivers.bouyer
2003-10-08Adapt for wdcattach() prototype change.bouyer
2003-10-08Regen: add atabus.bouyer
2003-10-08Add atabus.bouyer
2003-10-08* Shuffle some data structures so, and add a flags word to ksiginfo_t.thorpej
Right now the only flag is used to indicate if a ksiginfo_t is a result of a trap. Add a predicate macro to test for this flag. * Add initialization macros for ksiginfo_t's. * Add accssor macro for ksi_trap. Expands to 0 if the ksiginfo_t was not the result of a trap. This matches the sigcontext trapcode semantics. * In kpsendsig(), use KSI_TRAP_P() to select the lwp that gets the signal. Inspired by Matthias Drochner's fix to kpsendsig(), but correctly handles the case of non-trap-generated signals that have a > 0 si_code. This patch fixes a signal delivery problem with threaded programs noted by Matthias Drochner on tech-kern. As discussed on tech-kern. Reviewed and OK's by Christos.
2003-10-05Add some framework for MI assignment of device majors - add sys/dev/majorsjdolecek
which is automatically included during kernel config, and add comments to individual machine-dependant majors.* files to assign new MI majors in MI file. Range 0-191 is reserved for machine-specific assignments, range 192+ are MI assignments. Follows recent discussion on tech-kern@
2003-09-29Cast through (void *) to appease gcc3.cl
2003-09-27Cast through (void *) to appease gcc3.cl
2003-09-25Hide the use of config_interrupts() in one place.mycroft
2003-09-25Modify the fdcattach() interface again, splitting it into two parts, so thatmycroft
DRQ allocation is done earlier.
2003-09-25Update for new attach method.mycroft
2003-09-22SA_SIGINFO support for m68k (port specific changes)cl
2003-09-22regencl
2003-09-22add COMPAT_15/COMPAT_16cl
2003-09-21cleanup & uniform descriptor owner handling:jdolecek
* introduce fsetown(), fgetown(), fownsignal() - this sets/retrieves/signals the owner of descriptor, according to appropriate sematics of TIOCSPGRP/FIOSETOWN/SIOCSPGRP/TIOCGPGRP/FIOGETOWN/SIOCGPGRP ioctl; use these routines instead of custom code where appropriate * make every place handling TIOCSPGRP/TIOCGPGRP handle also FIOSETOWN/FIOGETOWN properly, and remove the translation of FIO[SG]OWN to TIOC[SG]PGRP in sys_ioctl() & sys_fcntl() * also remove the socket-specific hack in sys_ioctl()/sys_fcntl() and pass the ioctls down to soo_ioctl() as any other ioctl change discussed on tech-kern@
2003-09-191) Use config_interrupts() to attach IDE and ATAPI drives. This eliminatesmycroft
most polling. 2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path (it's gratuitous) and simplify the code by calling pciide_map_compat_intr(), *_set_modes() and wdc_print_modes() from central locations. 3) Add a register writability and register ghost test to eliminate phantom drives more quickly.
2003-09-17add MD part of SA/pthread pagefault handling on all m68k portscl
2003-08-29libsa/bcmp.c now defines both bcmp and memcmpdsl
2003-08-24The new ufs.o also needs memset, so add it.he