History log of /src/sys/arch/mac68k/dev/grf_compat.c |
Revision | | Date | Author | Comments |
1.29 |
| 10-Nov-2019 |
chs | in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
1.28 |
| 20-Aug-2015 |
christos | branches: 1.28.18; include "ioconf.h" to get the 'void <driver>attach(int count);' prototype.
|
1.27 |
| 14-Dec-2014 |
chs | add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for mappings of file objects. move vnode-specific details of mmap()ing a vnode from uvm_mmap() to the new vnode-specific vn_mmap(). add new uvm_mmap_dev() and uvm_mmap_anon() convenience functions for mapping character devices and anonymous memory, and replace all other calls to uvm_mmap() with those. use the new fileop in drm2 so that libdrm can use mmap() to map things like on other platforms (instead of the ioctl that we have used so far).
|
1.26 |
| 25-Jul-2014 |
dholland | branches: 1.26.2; 1.26.4; Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
|
1.25 |
| 16-Mar-2014 |
dholland | branches: 1.25.2; Change (mostly mechanically) every cdevsw/bdevsw I can find to use designated initializers.
I have not built every extant kernel so I have probably broken at least one build; however I've also found and fixed some wrong cdevsw/bdevsw entries so even if so I think we come out ahead.
|
1.24 |
| 30-Jan-2014 |
martin | Add missing cast (to make it compilable)
|
1.23 |
| 26-Jan-2014 |
christos | kill VM_DEFAULT_ADDRESS use
|
1.22 |
| 06-Jun-2010 |
mrg | branches: 1.22.8; 1.22.18; 1.22.22; defflag GRF_COMPAT.
|
1.21 |
| 25-Jan-2008 |
dogcow | branches: 1.21.10; 1.21.30; 1.21.32; fallout from v_specinfo removal
|
1.20 |
| 05-Mar-2007 |
he | branches: 1.20.20; 1.20.26; Cast to char* before doing pointer arithmetic.
|
1.19 |
| 04-Mar-2007 |
christos | Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.18 |
| 24-Jan-2007 |
hubertf | branches: 1.18.2; Remove duplicate #includes, patch contributed in private mail by Slava Semushin <slava.semushin@gmail.com>.
To verify that no nasty side effects of duplicate includes (or their removal) have an effect here, I've compiled an i386/ALL kernel with and without the patch, and the only difference in the resulting .o files was in shifted line numbers in some assert() calls. The comparison of the .o files was based on the output of "objdump -D".
Thanks to martin@ for the input on testing.
|
1.17 |
| 09-Mar-2006 |
he | branches: 1.17.10; Remove now-unused local variable.
|
1.16 |
| 08-Mar-2006 |
scottr | Cleaner check for offset to grf_mmap
|
1.15 |
| 11-Dec-2005 |
christos | branches: 1.15.4; 1.15.6; 1.15.8; 1.15.10; merge ktrace-lwp.
|
1.14 |
| 15-Jan-2005 |
chs | branches: 1.14.10; de-__P, remove register, ansify, b* -> mem*.
|
1.13 |
| 15-Jul-2003 |
lukem | branches: 1.13.6; __KERNEL_RCSID()
|
1.12 |
| 24-Feb-2003 |
atatat | branches: 1.12.2; Cast VM_DEFAULT_ADDRESS() to a caddr_t.
|
1.11 |
| 20-Feb-2003 |
atatat | Introduce "top down" memory management for mmap()ed allocations. This means that the dynamic linker gets mapped in at the top of available user virtual memory (typically just below the stack), shared libraries get mapped downwards from that point, and calls to mmap() that don't specify a preferred address will get mapped in below those.
This means that the heap and the mmap()ed allocations will grow towards each other, allowing one or the other to grow larger than before. Previously, the heap was limited to MAXDSIZ by the placement of the dynamic linker (and the process's rlimits) and the space available to mmap was hobbled by this reservation.
This is currently only enabled via an *option* for the i386 platform (though other platforms are expected to follow). Add "options USE_TOPDOWN_VM" to your kernel config file, rerun config, and rebuild your kernel to take advantage of this.
Note that the pmap_prefer() interface has not yet been modified to play nicely with this, so those platforms require a bit more work (most notably the sparc) before they can use this new memory arrangement.
This change also introduces a VM_DEFAULT_ADDRESS() macro that picks the appropriate default address based on the size of the allocation or the size of the process's text segment accordingly. Several drivers and the SYSV SHM address assignment were changed to use this instead of each one picking their own "default".
|
1.10 |
| 23-Oct-2002 |
jdolecek | merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework currently supported events include socket, file, directory, fifo, pipe, tty and device changes, and monitoring of processes and signals
kqueue is supported by all writable filesystems in NetBSD tree (with exception of Coda) and all device drivers supporting poll(2)
based on work done by Jonathan Lemon for FreeBSD initial NetBSD port done by Luke Mewburn and Jason Thorpe
|
1.9 |
| 10-Oct-2002 |
jdolecek | replace the somewhat strange poll routine with standard nopoll() (a.k.a seltrue())
|
1.8 |
| 06-Sep-2002 |
gehenna | Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
1.7 |
| 30-Apr-2001 |
wiz | branches: 1.7.2; 1.7.4; 1.7.8; 1.7.16; Remove unused variable. Reported by Thilo Manske in port-mac68k/12794.
|
1.6 |
| 15-Mar-2001 |
chs | eliminate the KERN_* error codes in favor of the traditional E* codes. the mapping is:
KERN_SUCCESS 0 KERN_INVALID_ADDRESS EFAULT KERN_PROTECTION_FAILURE EACCES KERN_NO_SPACE ENOMEM KERN_INVALID_ARGUMENT EINVAL KERN_FAILURE various, mostly turn into KASSERTs KERN_RESOURCE_SHORTAGE ENOMEM KERN_NOT_RECEIVER <unused> KERN_NO_ACCESS <unused> KERN_PAGES_LOCKED <unused>
|
1.5 |
| 29-Jun-2000 |
mrg | branches: 1.5.2; 1.5.4; remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
|
1.4 |
| 26-Jun-2000 |
simonb | Change the kernel mmap interface so that the offset to map is an "off_t" and the return value is a "paddr_t" to allow mappings at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which only changed the offset to a "vm_offset_t".
Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
|
1.3 |
| 08-Jun-2000 |
scottr | branches: 1.3.2; Make this compile with GRF_COMPAT. Problem pointed out by Hauke Fath.
|
1.2 |
| 14-Feb-2000 |
scottr | branches: 1.2.2; Merge wscons work onto the main development branch.
|
1.1 |
| 15-Nov-1999 |
scottr | branches: 1.1.2; file grf_compat.c was initially added on branch scottr-mac68k-wscons.
|
1.1.2.5 |
| 20-Nov-1999 |
scottr | Clear the screen on close to emulate the behavior of legacy grf devices.
|
1.1.2.4 |
| 18-Nov-1999 |
scottr | Revert 1.1.2.2; further testing shows that the problem lies elsewhere.
|
1.1.2.3 |
| 18-Nov-1999 |
scottr | Improved emulation of grf devices:
- sync return value for unsupported ioctls with legacy grf driver - returning (-1) from grfioctl() is hardly appropriate; return EINVAL when we are given an unknown ioctl (duh) - don't add the displayable region offset in grfmmap(); apps handlj this themselves
|
1.1.2.2 |
| 17-Nov-1999 |
scottr | Avoid MAP_FIXED in grfmap(); it doesn't buy us anything with the apps that use it, and can cause some systems (e.g. the IIci) to behave erratically.
|
1.1.2.1 |
| 15-Nov-1999 |
scottr | Implement a more straightforward approach to grf emulation.
|
1.2.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.3.2.1 |
| 30-Jun-2000 |
simonb | Pull up mmap paddr_t/off_t changes from trunk.
|
1.5.4.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.5.4.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.5.2.3 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
1.5.2.2 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.5.2.1 |
| 29-Jun-2000 |
bouyer | file grf_compat.c was added on branch thorpej_scsipi on 2000-11-20 20:12:16 +0000
|
1.7.16.1 |
| 17-May-2002 |
gehenna | Add device switch.
|
1.7.8.4 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.7.8.3 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.7.8.2 |
| 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.7.8.1 |
| 30-Apr-2001 |
nathanw | file grf_compat.c was added on branch nathanw_sa on 2002-09-17 21:15:24 +0000
|
1.7.4.1 |
| 10-Oct-2001 |
fvdl | Convert all remaining devices.
|
1.7.2.3 |
| 10-Oct-2002 |
jdolecek | use nokqfilter (or seltrue_kqfilter()) for drivers which provide poll routine very similar to seltrue(); the poll routines would be cleaned up on trunk
|
1.7.2.2 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.7.2.1 |
| 18-Jun-2002 |
jdolecek | provide dummy grfkqfilter()
|
1.12.2.5 |
| 25-Jan-2005 |
skrll | Adapt to branch.
|
1.12.2.4 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.12.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.12.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.12.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.13.6.2 |
| 09-Mar-2006 |
snj | Revert previous change, which was accidentally committed to the wrong branch.
|
1.13.6.1 |
| 08-Mar-2006 |
scottr | Cleaner check for offset to grf_mmap
|
1.14.10.4 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.14.10.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.14.10.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.14.10.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.15.10.1 |
| 19-Apr-2006 |
elad | sync with head - hopefully this will work
|
1.15.8.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
1.15.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.15.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.17.10.1 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.18.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.20.26.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.20.20.1 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.21.32.1 |
| 03-Jul-2010 |
rmind | sync with head
|
1.21.30.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.21.10.1 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.22.22.1 |
| 18-May-2014 |
rmind | sync with head
|
1.22.18.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.22.18.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.22.8.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.25.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.26.4.2 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.26.4.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.26.2.1 |
| 31-Dec-2014 |
snj | Pull up following revision(s) (requested by chs in ticket #363): common/lib/libprop/prop_kern.c: revision 1.18 sys/arch/mac68k/dev/grf_compat.c: revision 1.27 sys/arch/x68k/dev/grf.c: revision 1.45 sys/external/bsd/drm/dist/bsd-core/drm_bufs.c: revision 1.12 sys/external/bsd/drm2/drm/drm_drv.c: revision 1.12 sys/external/bsd/drm2/drm/drm_vm.c: revision 1.6 sys/external/bsd/drm2/include/linux/mm.h: revision 1.4 sys/kern/vfs_vnops.c: revision 1.192 via patch sys/rump/librump/rumpkern/vm.c: revision 1.160 sys/sys/file.h: revision 1.78 via patch sys/uvm/uvm_device.c: revision 1.64 sys/uvm/uvm_device.h: revision 1.13 sys/uvm/uvm_extern.h: revision 1.192 sys/uvm/uvm_mmap.c: revision 1.150 via patch add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for mappings of file objects. move vnode-specific details of mmap()ing a vnode from uvm_mmap() to the new vnode-specific vn_mmap(). add new uvm_mmap_dev() and uvm_mmap_anon() convenience functions for mapping character devices and anonymous memory, and replace all other calls to uvm_mmap() with those. use the new fileop in drm2 so that libdrm can use mmap() to map things like on other platforms (instead of the ioctl that we have used so far).
|
1.28.18.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|