freebsd-dev/sys/dev/fb
Marius Strobl bda8e754a1 Make sparc64 compatible with NEW_PCIB and enable it:
- Implement bus_adjust_resource() methods as far as necessary and in non-PCI
  bridge drivers as far as feasible without rototilling them.
- As NEW_PCIB does a layering violation by activating resources at layers
  above pci(4) without previously bubbling up their allocation there, move
  the assignment of bus tags and handles from the bus_alloc_resource() to
  the bus_activate_resource() methods like at least the other NEW_PCIB
  enabled architectures do. This is somewhat unfortunate as previously
  sparc64 (ab)used resource activation to indicate whether SYS_RES_MEMORY
  resources should be mapped into KVA, which is only necessary if their
  going to be accessed via the pointer returned from rman_get_virtual() but
  not for bus_space(9) as the later always uses physical access on sparc64.
  Besides wasting KVA if we always map in SYS_RES_MEMORY resources, a driver
  also may deliberately not map them in if the firmware already has done so,
  possibly in a special way. So in order to still allow a driver to decide
  whether a SYS_RES_MEMORY resource should be mapped into KVA we let it
  indicate that by calling bus_space_map(9) with BUS_SPACE_MAP_LINEAR as
  actually documented in the bus_space(9) page. This is implemented by
  allocating a separate bus tag per SYS_RES_MEMORY resource and passing the
  resource via the previously unused bus tag cookie so we later on can call
  rman_set_virtual() in sparc64_bus_mem_map(). As a side effect this now
  also allows to actually indicate that a SYS_RES_MEMORY resource should be
  mapped in as cacheable and/or read-only via BUS_SPACE_MAP_CACHEABLE and
  BUS_SPACE_MAP_READONLY respectively.
- Do some minor cleanup like taking advantage of rman_init_from_resource(),
  factor out the common part of bus tag allocation into a newly added
  sparc64_alloc_bus_tag(), hook up some missing newbus methods and replace
  some homegrown versions with the generic counterparts etc.
- While at it, let apb_attach() (which can't use the generic NEW_PCIB code
  as APB bridges just don't have the base and limit registers implemented)
  regarding the config space registers cached in pcib_softc and the SYSCTL
  reporting nodes set up.
2011-10-02 23:22:38 +00:00
..
boot_font.c
creator.c Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
creatorreg.h
fb.c Fix FBIO_ADPINFO ioctl on amd64. 2010-02-23 01:00:19 +00:00
fbreg.h Remove unused i586 optimized bcopy/bzero/etc implementations that utilize 2010-06-23 10:40:28 +00:00
gallant12x22.c
gfb.h
machfb.c Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
machfbreg.h
s3_pci.c Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
splash_bmp.c
splash_pcx.c
splash.c Use the preload_fetch_addr() and preload_fetch_size() convenience 2011-02-13 19:25:48 +00:00
splashreg.h
vesa.c Fix segment:offset calculation of interrupt vector for relocated video BIOS 2010-09-13 19:58:46 +00:00
vesa.h - When we restore VESA state, try BIOS POST earlier. VESA restore state 2009-10-23 18:41:00 +00:00
vga.c Teach VGA framebuffer about 8-bit palette format for VESA. 2010-03-24 15:37:47 +00:00
vgareg.h Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00