Home | History | Annotate | only in /src/sys/arch/hppa/dev
History log of /src/sys/arch/hppa/dev
RevisionDateAuthorComments
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file Makefile was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.4 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.3 10-Nov-2019  chs branches: 1.3.8;
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.2 31-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10; 1.2.36;
fix eisa_intr_string
 1.1 24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.2.36.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 31-Mar-2014  tls file apic.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.2.6.2 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.2.6.1 31-Mar-2014  yamt file apic.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 31-Mar-2014  rmind file apic.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.4 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.3 24-Apr-2021  thorpej branches: 1.3.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.2 14-May-2020  skrll branches: 1.2.4;
Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.40;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.40.1 03-Aug-2020  martin Pull up following revision(s) (requested by skrll in ticket #1035):

sys/arch/hppa/dev/lasi.c: revision 1.3
sys/arch/hppa/dev/wax.c: revision 1.2
sys/arch/hppa/dev/asp.c: revision 1.2
sys/arch/hppa/dev/dino.c: revision 1.5

Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file asp.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file asp.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file asp.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.4.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.3.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 03-Dec-2023  thorpej Use vmem(9) rather than extent(9) to manage IOMMU mappings.
 1.5 29-Sep-2022  skrll malloc -> kmem
 1.4 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.3 24-Apr-2021  thorpej branches: 1.3.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.2 14-Jun-2020  chs branches: 1.2.4;
replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file astro.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file astro.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file astro.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.4.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.2.4.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.3.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file clock.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file clock.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file clock.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3 15-Apr-2019  skrll Some KNF
 1.2 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.34; 1.1.36;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.34.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file com_dino.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file com_dino.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file com_dino.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3 15-Apr-2019  skrll Trailing whitespace
 1.2 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.34; 1.1.36;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.34.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file com_ssio.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file com_ssio.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file com_ssio.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3 14-Feb-2022  riastradh hppa: Membar audit in cpu.c.
 1.2 16-Apr-2020  skrll Don't KASSERT there's an FPU present. QEMU doesn't have one...
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.36; 1.1.40; 1.1.46;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.46.1 20-Apr-2020  bouyer Sync with HEAD
 1.1.40.1 05-Aug-2020  martin Pull up following revision(s) (requested by skrll in ticket #1039):

sys/arch/hppa/dev/cpu.c: revision 1.2
sys/arch/hppa/hppa/fpu.c: revision 1.27

Don't KASSERT there's an FPU present. QEMU doesn't have one...
 1.1.36.1 21-Apr-2020  martin Sync with HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file cpu.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file cpu.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file cpu.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file cpudevs was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file cpudevs was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file cpudevs was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file cpudevs.h was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file cpudevs.h was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file cpudevs.h was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file cpudevs_data.h was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file cpudevs_data.h was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file cpudevs_data.h was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file devlist2h.awk was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file devlist2h.awk was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file devlist2h.awk was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.18 06-Apr-2025  riastradh hppa/dev: Nix trailing whitespace.

No functional change intended.
 1.17 28-Jan-2024  macallan branches: 1.17.2;
add missing bus_space_*_stream() methods instead of quietly aliasing them
to their potentially byte-swapping regular counterparts

ok skrll@
 1.16 29-Sep-2022  skrll branches: 1.16.4;
Remove unnecessary include of <sys/malloc.h>.
 1.15 16-Aug-2022  skrll Use designated initializers for hppa_pci_chipset_tag structs.
 1.14 16-Aug-2022  skrll Trailing whitespace
 1.13 18-Sep-2021  macallan explain why we skip over dev 1f func 7 in config space access functions
no functional change
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 23-Oct-2020  macallan branches: 1.10.4;
support mmap()
 1.9 16-Oct-2020  skrll Remove trailing whitespace
 1.8 16-Oct-2020  skrll KNF
 1.7 16-Oct-2020  macallan config space accesses to device 15 function 7 cause a machine check exception
on my C200, so weed them out.
Now we can scan the PCI buses without crashing.
 1.6 14-Jun-2020  chs replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
 1.5 14-May-2020  skrll Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.4 16-Apr-2019  skrll branches: 1.4.4;
Re-arrange dino_softc members to improve alignment
 1.3 02-Oct-2015  msaitoh branches: 1.3.10; 1.3.18;
PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.2 31-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10; 1.2.12;
fix eisa_intr_string
 1.1 24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.2.12.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 31-Mar-2014  tls file dino.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.2.6.2 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.2.6.1 31-Mar-2014  yamt file dino.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 31-Mar-2014  rmind file dino.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.10.1 20-Apr-2019  martin Pull up following revision(s) (requested by skrll in ticket #1235):

sys/arch/hppa/conf/files.hppa: revision 1.20
sys/arch/hppa/dev/dino.c: revision 1.4

dino depends on gedoens

-

Re-arrange dino_softc members to improve alignment
 1.4.4.1 03-Aug-2020  martin Pull up following revision(s) (requested by skrll in ticket #1035):

sys/arch/hppa/dev/lasi.c: revision 1.3
sys/arch/hppa/dev/wax.c: revision 1.2
sys/arch/hppa/dev/asp.c: revision 1.2
sys/arch/hppa/dev/dino.c: revision 1.5

Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.10.4.2 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.10.4.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.16.4.1 17-Feb-2024  martin Pull up following revision(s) (requested by macallan in ticket #592):

sys/arch/hppa/hppa/mainbus.c: revision 1.13
sys/arch/hppa/dev/elroy.c: revision 1.7
sys/arch/hppa/dev/dino.c: revision 1.17
sys/arch/hppa/include/bus_funcs.h: revision 1.2
sys/arch/hppa/include/bus_defs.h: revision 1.3

add missing bus_space_*_stream() methods instead of quietly aliasing them
to their potentially byte-swapping regular counterparts

ok skrll@
 1.17.2.1 02-Aug-2025  perseant Sync with HEAD
 1.9 29-Dec-2024  skrll KNF
 1.8 28-Dec-2024  skrll hppa: elroy: support mmap

X works, but has weird colours.
 1.7 28-Jan-2024  macallan branches: 1.7.2;
add missing bus_space_*_stream() methods instead of quietly aliasing them
to their potentially byte-swapping regular counterparts

ok skrll@
 1.6 29-Sep-2022  skrll branches: 1.6.4;
Remove unnecessary include of <sys/malloc.h>.
 1.5 16-Aug-2022  skrll Use designated initializers for hppa_pci_chipset_tag structs.
 1.4 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.3 24-Apr-2021  thorpej branches: 1.3.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.2 02-Oct-2015  msaitoh branches: 1.2.32;
PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.12.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file elroy.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file elroy.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file elroy.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.32.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.3.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6.4.1 17-Feb-2024  martin Pull up following revision(s) (requested by macallan in ticket #592):

sys/arch/hppa/hppa/mainbus.c: revision 1.13
sys/arch/hppa/dev/elroy.c: revision 1.7
sys/arch/hppa/dev/dino.c: revision 1.17
sys/arch/hppa/include/bus_funcs.h: revision 1.2
sys/arch/hppa/include/bus_defs.h: revision 1.3

add missing bus_space_*_stream() methods instead of quietly aliasing them
to their potentially byte-swapping regular counterparts

ok skrll@
 1.7.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file elroyreg.h was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file elroyreg.h was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file elroyreg.h was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2 31-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10;
fix eisa_intr_string
 1.1 24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 31-Mar-2014  tls file elroyvar.h was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.2.6.2 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.2.6.1 31-Mar-2014  yamt file elroyvar.h was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 31-Mar-2014  rmind file elroyvar.h was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.2 24-Apr-2021  thorpej branches: 1.2.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.50;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.50.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.1.50.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file gecko.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file gecko.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file gecko.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.31 21-Oct-2025  skrll Revert changes from previous that have nothing to do with STI PCI ROM
grovelling.

Fixes the build.
 1.30 20-Oct-2025  macallan move the STI PCI ROM grovelling code into sti_pci_machdep.c instead of each
driver having its own copy
 1.29 11-Mar-2025  macallan drop unnecessary wait and register write when moving the cursor sprite
 1.28 11-Mar-2025  macallan drop the rectfill workaround here as well
 1.27 13-Nov-2024  macallan set things up even if we're not the console
 1.26 27-Oct-2024  riastradh gftfb(4): Nix trailing whitespace.

No functional change intended.
 1.25 27-Oct-2024  macallan more magic number reduction, the way colour map and cursor bitmap acess works
should be obvious now
 1.24 27-Oct-2024  macallan magic number reduction, consistently use buffer 0
 1.23 16-Oct-2024  macallan fix tpyo, now we can actually map registers from userland
 1.22 01-Oct-2024  macallan use HW to draw bitmap fonts
 1.21 30-Sep-2024  macallan use wrappers for bus_space_*() - makes things shorter, less annoying to read
and reduces unnecessary differences to hyperfb
 1.20 10-Sep-2024  macallan as suspected the Visualize EG's rectangle fill function works exactly the same
as HCRX's, so apply the same trick to draw less than 32 pixel wide rectangles
and get rid of the workaround
 1.19 28-Aug-2024  macallan properly return status info in ioctl(WSDISPLAYIO_GVIDEO)
 1.18 19-Aug-2024  macallan implement ioctl(GCID)
 1.17 01-Aug-2024  macallan fix tpyo and properly limit what we can mmap()
 1.16 17-Jul-2024  macallan remove a bunch of #defines that have been moved to stireg.h
 1.15 12-Jul-2024  macallan STIDEBUG -> GFTFB_DEBUG
 1.14 18-Apr-2024  macallan branches: 1.14.2;
allow mapping of blitter registers
 1.13 01-Apr-2024  macallan make gftfb_restore_palette() grab the default colour map from rasops instead
of just writing the driver's map into the hardware ( which may have been
modified by the likes of wsfb )
With this we get a readable console even when exiting X in a less than
graceful manner.
 1.12 28-Mar-2024  macallan For some reason the drawing engine occasionally scribbles past the right
boundary when filling rectangles, especially annoying when we draw whitespaces
As a workaround we draw all rectangles less than 50 pixels wide by drawing
a 50 pixel rectangle into off-screen memory to the right of the visible fb and
then copy the portion we want. Keeps track of the colour and size of the
off-screen rectangle so we can avoid redrawing it whenever possible.
 1.11 27-Mar-2024  macallan fix brainfart - only update fbi_fbsize, not the size of the visible fb...
 1.10 27-Mar-2024  macallan in gftfb_ioctl():
- identify ourselves as WSDISPLAY_TYPE_STI
- return full fb geometry in WSDISPLAYIO_GET_FBINFO
 1.9 06-Mar-2024  macallan if the framebuffer is wider than the visible area, use the full width for the
glyphcache
 1.8 28-Feb-2024  macallan support WSDISPLAYIO_SVIDEO so X can turn the monitor off
so far I only know how to turn off video output, not sync(s). Better than
nothing though.
 1.7 28-Feb-2024  macallan add hardware cursor support, mostly for X
 1.6 21-Feb-2024  macallan avoid one more instance of unnecessary blitter stalling
 1.5 21-Feb-2024  macallan keep track of hw settings for blitter, fill of fb access to avoid unnecessary
register writes
while there, remove some accidentially left in debug goop
 1.4 20-Feb-2024  macallan play the same lazy cursor (un)draw trick as cgsix and friends
visible speedup in things like systat
 1.3 20-Feb-2024  macallan enable glyph cache, anti-aliased fonts etc.
 1.2 15-Feb-2024  macallan blitter time!
everything except drawing characters i now done by hardware
next step - glyphcache
 1.1 13-Feb-2024  macallan crude beginning of a native driver for PCI Visualize EG cards
so far it supports:
- colour
- virtual consoles
todo:
- mmap
- hardware acceleration
- STI refactoring
 1.14.2.1 02-Aug-2025  perseant Sync with HEAD
 1.24 06-Apr-2025  riastradh branches: 1.24.4;
hppa/dev: Nix trailing whitespace.

No functional change intended.
 1.23 03-Apr-2025  macallan some cleanup:
- remove code to initialize a DAC that HCRX doesn't have
- decode / explain some more magic numbers
add more comments describing what we do and why
 1.22 17-Mar-2025  macallan remove glyphcache and debug goop
we're not likely to be able to use any off-screen memory on this hardware, so
don't pretend we will.
 1.21 05-Mar-2025  macallan now that we can draw rectangles in exactly the size we want without abusing
the pixel mask, we no longer need to draw characters in two passes - just
disable transparency, set fore- and background, and go.
Only clear the character cell when drawing blanks.
 1.20 05-Mar-2025  macallan finally figured out how to automatically mask off pixels at the right when
drawing rectangles so we can drop the workaround
 1.19 13-Nov-2024  macallan set things up even if we're not the console
 1.18 16-Oct-2024  macallan fix tpyo, now we can actually map registers from userland
 1.17 01-Oct-2024  macallan simplify putchar() a bit, use 16bit accesses for fonts that are more than 8
pixels wide
 1.16 01-Oct-2024  macallan remove sc_putchar - don't need it anymore
 1.15 11-Sep-2024  macallan now that we know how, draw characters by hardware
 1.14 04-Sep-2024  macallan get rid of the workarounds to draw rectangles less than 32 pixels wide
turns out the hardware applies a bit mask to all rectangle fills, and we
can turn the background transparent. With that we just mask off the pixels
we don't need in the less than 32 pixels wide case.
Next step - figure out how to abuse that to draw characters
I bet Visualize EG works exactly the same way in that regard.
 1.13 28-Aug-2024  macallan properly return status info in ioctl(WSDISPLAYIO_GVIDEO)
 1.12 19-Aug-2024  macallan implement ioctl(GCID)
 1.11 07-Aug-2024  riastradh hyperfb(4): Nix trailing whitespace.

No functional change intended.
 1.10 06-Aug-2024  macallan magic number reduction, NFC
 1.9 05-Aug-2024  macallan do cursor position updated the way NGLE does - poke reg 28 and wait_fifo
instead of waiting for the whole thing to go idle
 1.8 01-Aug-2024  macallan fix tpyo and properly limit what we can mmap()
 1.7 31-Jul-2024  riastradh hyperfb(4): Nix trailing whitespace, sprinkle KNF.

No functional change intended -- just whitespace (and comments).
 1.6 31-Jul-2024  macallan use the blitter to draw small rectangles as well by abusing set/clear ops
and the plane mask
 1.5 24-Jul-2024  macallan hand X a 24bit framebuffer if the hardware supports it
 1.4 17-Jul-2024  macallan remove a bunch of #defines that have been moved to stireg.h
 1.3 17-Jul-2024  macallan add cursor sprite support
 1.2 15-Jul-2024  macallan we have a blitter - use it
 1.1 12-Jul-2024  macallan first shot at a native driver for HCRX cards
this will give you a fully working wsdisplay in 8bit colour living in the
overlay planes, X/wsfb will also work.
No acceleration or cursor sprite support yet.
 1.24.4.2 02-Aug-2025  perseant Sync with HEAD
 1.24.4.1 06-Apr-2025  perseant file hyperfb.c was added on branch perseant-exfatfs on 2025-08-02 05:55:42 +0000
 1.6 24-Feb-2025  andvar s/requset/request/ in comments.
 1.5 07-Aug-2021  thorpej branches: 1.5.12;
Merge thorpej-cfargs2.
 1.4 24-Apr-2021  thorpej branches: 1.4.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.3 14-May-2020  skrll branches: 1.3.4;
Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.2 15-Apr-2019  skrll branches: 1.2.4;
Trailing whitespace
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.36;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file lasi.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file lasi.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file lasi.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.4.1 03-Aug-2020  martin Pull up following revision(s) (requested by skrll in ticket #1035):

sys/arch/hppa/dev/lasi.c: revision 1.3
sys/arch/hppa/dev/wax.c: revision 1.2
sys/arch/hppa/dev/asp.c: revision 1.2
sys/arch/hppa/dev/dino.c: revision 1.5

Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.3.4.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.4.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.5.12.1 02-Aug-2025  perseant Sync with HEAD
 1.2 03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.34; 1.1.36;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.34.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file lcd.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file lcd.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file lcd.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file lpt_ssio.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file lpt_ssio.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file lpt_ssio.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2 29-Sep-2022  skrll Remove unnecessary include of <sys/malloc.h>.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file mem.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file mem.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file mem.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.8 19-Oct-2025  thorpej Use {,e}isabus_attach().
 1.7 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.6 24-Apr-2021  thorpej branches: 1.6.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.5 15-Apr-2019  skrll branches: 1.5.14;
Trailing whitespace
 1.4 10-Oct-2017  maya branches: 1.4.4;
Reorder to avoid null deref before null test
 1.3 31-Mar-2014  christos branches: 1.3.4; 1.3.6; 1.3.10;
fix eisa_intr_string
 1.2 26-Mar-2014  christos kill sprintf
 1.1 24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.3.10.3 03-Dec-2017  jdolecek update from HEAD
 1.3.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.1 31-Mar-2014  tls file mongoose.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.3.6.2 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.3.6.1 31-Mar-2014  yamt file mongoose.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.3.4.2 18-May-2014  rmind sync with head
 1.3.4.1 31-Mar-2014  rmind file mongoose.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.4.4.1 10-Jun-2019  christos Sync with HEAD
 1.5.14.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.6.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.7 07-Sep-2025  thorpej Change todr_chip_handle::cookie -> todr_chip_handle::todr_dev, and
make it a device_t. Upcoming functional changes will require the
device_t associated with a TODR device.

Change todr_chip_handle::bus_cookie -> todr_chip_handle::todr_devaux.
Nothing was using the old field, but I decided to keep it around just
in cause something needs it in the future.

And with these largely mechanical yet semantically meaningful changes,
thus spake the Oracle: "Welcome to NetBSD 11.99.2."
 1.6 07-Sep-2025  thorpej Put the TODR handle in the pdc_softc.
 1.5 02-Apr-2025  skrll KNF
 1.4 15-Apr-2019  skrll branches: 1.4.36;
Trailing whitespace
 1.3 27-Jul-2014  dholland branches: 1.3.4; 1.3.30;
Fix typo in previous. Eesh.
 1.2 26-Jul-2014  dholland Add d_discard to a cdevsw I apparently missed.
 1.1 24-Feb-2014  skrll branches: 1.1.2; 1.1.4; 1.1.6;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file pdc.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file pdc.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.3.30.1 10-Jun-2019  christos Sync with HEAD
 1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.1 27-Jul-2014  tls file pdc.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.4.36.1 02-Aug-2025  perseant Sync with HEAD
 1.3 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.2 24-Apr-2021  thorpej branches: 1.2.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.50;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.50.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.1.50.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file phantomas.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file phantomas.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file phantomas.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 15-Apr-2019  skrll Trailing whitespace
 1.2 01-Jun-2017  chs branches: 1.2.10;
remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.12.1 28-Aug-2017  skrll Sync with HEAD
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file power.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file power.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file power.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.10.1 10-Jun-2019  christos Sync with HEAD
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file siop_sgc.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file siop_sgc.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file siop_sgc.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.5 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.4 24-Jul-2021  andvar branches: 1.4.2;
Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
Also fixed some additional typos in comments, found on review of same files or typos.
 1.3 24-Apr-2021  thorpej branches: 1.3.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.2 29-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10; 1.2.50;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.1 24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.2.50.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 29-Mar-2014  tls file ssio.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.2.6.2 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.2.6.1 29-Mar-2014  yamt file ssio.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 29-Mar-2014  rmind file ssio.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.4.2.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file ssiovar.h was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file ssiovar.h was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file ssiovar.h was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3 20-Oct-2025  macallan break long lines
 1.2 20-Oct-2025  macallan move the STI PCI ROM grovelling code into sti_pci_machdep.c instead of each
driver having its own copy
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file sti_pci_machdep.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file sti_pci_machdep.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file sti_pci_machdep.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2 20-Oct-2025  macallan break long lines
 1.1 20-Oct-2025  macallan move the STI PCI ROM grovelling code into sti_pci_machdep.c instead of each
driver having its own copy
 1.4 06-Apr-2025  riastradh hppa/dev: Nix trailing whitespace.

No functional change intended.
 1.3 11-Jul-2021  tsutsui branches: 1.3.16;
Fix silent freeze on probing sti(4) framebuffer on 712/60. PR/52162

Ok'ed by skrll@.
Should be pulled up to netbsd-9 and netbsd-8.
 1.2 15-Apr-2019  skrll branches: 1.2.4; 1.2.16;
Trailing whitespace
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.28; 1.1.36;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.28.1 14-Jul-2021  martin Pull up following revision(s) (requested by tsutsui in ticket #1689):

sys/arch/hppa/dev/sti_sgc.c: revision 1.3

Fix silent freeze on probing sti(4) framebuffer on 712/60. PR/52162

Ok'ed by skrll@.
Should be pulled up to netbsd-9 and netbsd-8.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file sti_sgc.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file sti_sgc.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file sti_sgc.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.16.1 01-Aug-2021  thorpej Sync with HEAD.
 1.2.4.1 14-Jul-2021  martin Pull up following revision(s) (requested by tsutsui in ticket #1322):

sys/arch/hppa/dev/sti_sgc.c: revision 1.3

Fix silent freeze on probing sti(4) framebuffer on 712/60. PR/52162

Ok'ed by skrll@.
Should be pulled up to netbsd-9 and netbsd-8.
 1.3.16.1 02-Aug-2025  perseant Sync with HEAD
 1.35 20-Oct-2025  macallan move the STI PCI ROM grovelling code into sti_pci_machdep.c instead of each
driver having its own copy
 1.34 28-Apr-2025  macallan branches: 1.34.4;
remove code to stash the console font in video memory - this was an experiment
based on guesswork which probably won't work if the card runs in anything
other than 1280x1024, and wasn't significantly faster than drawing characters
line by line using BINC writes.
 1.33 25-Feb-2025  macallan no need to set read mode when doing host-to-vram alpha blending
while there, remove some commented out debug goop
 1.32 21-Feb-2025  andvar s/zeeo/zero/ in comment.
 1.31 09-Feb-2025  skrll Trailing whitespace
 1.30 27-Jan-2025  macallan use hardware to draw anti-aliased characters
 1.29 26-Jan-2025  macallan some minor updates:
- clear image planes before they become visible when switching to fb mode
- adjust FIFO slots, now that we knw a bit more about how they work
 1.28 07-Jan-2025  riastradh hppa/summitfb(4): Nix trailing whitespace again.
 1.27 06-Jan-2025  macallan (ab)use the image buffer as glyph cache, since on this thing we can set source
and destination buffer independently
 1.26 03-Jan-2025  skrll Use KM_SLEEP in attach path code.
 1.25 30-Dec-2024  macallan reshuffle summitfb_setup():
- remove magic number inits that are no longer magic
- annotate the remaining inits if we know the register names
- zero the attribute plane
while there, cull excessive calls to summitfb_setup()
 1.24 28-Dec-2024  macallan clean up aroound sti_fetchfonts(), mke sure we call wsfont_init() nefore
trying to add s font to the system
while there, allow mmap()in the entire fb aperture, no sense in restricting it
 1.23 27-Dec-2024  skrll Oops. Turn off debug.
 1.22 27-Dec-2024  skrll KNF

Remove some unnecessary casts and parenthesis
 1.21 26-Dec-2024  riastradh hppa/summitfb(4): Nix trailing whitespace.

No functional change intended.
 1.20 26-Dec-2024  macallan now that we can do ROPs, use them and enable all the lazy cursor update stuff
 1.19 25-Dec-2024  macallan some updates:
- setup attributes for RGB8 in the image planes and 8I in the overlay
- explicitly select LUT 0 for the overlay so we don't depend on what STI sets
anymore - now this should work on all FX cards
- expose 24bit framebuffer to X
- make sure we switch overlay transparency according to WSDISPLAY_SMODE
- remove unnecessary register writes when accessing the colour map
- no need to call summitfb_setup_fb() in summitfb_do_cursot() - that was for
HCRX and friends
- support screen blanking
 1.18 18-Dec-2024  macallan set the right cursor sprite colours, now that we know how
 1.17 16-Dec-2024  macallan avoid console output between sti_init() and wsdisplay_cnattach()
 1.16 16-Dec-2024  macallan do not zero the cursor position register on each colour map access, instead
do it when initializing fb access
-> no more disappearing cursor sprite
 1.15 16-Dec-2024  macallan remove declaration of sti_unitoroman[] since it lives in stivar.h now
 1.14 10-Dec-2024  macallan some udates:
- fetch the ROM font, convert it to ISO and hand it to wsfont so we can mimic
firmware output should we feel like it
- set read mode to match write mode whenever we touch the latter
 1.13 07-Dec-2024  riastradh hppa/summitfb(4): Nix trailing whitespace again.
 1.12 06-Dec-2024  macallan add support for alpha fonts and glyph cache, disabled by default since there
is guesswork involved
also, store bitmap fonts in video memory, mostly to show how to change colours
around
 1.11 29-Nov-2024  riastradh hppa/summitfb(4): Nix trailing whitespace.

No functional change intended.
 1.10 28-Nov-2024  macallan reshuffle unknown register inits, move the ones identified
 1.9 27-Nov-2024  riastradh hppa/summitfb(4): Nix trailing whitespace.

Plus some other minor whitespace/comment cleanups.
 1.8 27-Nov-2024  macallan some cleanup & optimization:
- don't write the pixel mask register for operations that don't use it
- track write mode, only wait if we change it
- always sync when switching in and out of fb mode ( for X... )
- drop sc_hwmode
... about 10% speedup and no more glitches when starting X
 1.7 26-Nov-2024  macallan make sure we apply the pixel mask when drawing characters so we don't scribble
outside the character cell
 1.6 26-Nov-2024  macallan now that we know how, use the blitter to:
- draw characters
- scroll
- rectangle fills
no ROP support yet, so the cursor is drawn using putchar
while there get rid of some unused cargo-culted goop from gftfb
MUCH faster now

CV: ----------------------------------------------------------------------
 1.5 20-Nov-2024  macallan use summitreg.h
 1.4 19-Nov-2024  macallan add hardware cursor support
while there remove debug goop, fix ioctl(GCID)
 1.3 19-Nov-2024  riastradh hppa/summitfb(4): Fix SUMMITFB_DEBUG build.
 1.2 19-Nov-2024  riastradh hppa/summitfb(4): KNF

No functional change intended.
 1.1 19-Nov-2024  macallan beginnings of a driver for Visualize FX graphics cards
So far it does:
- work on my FX4
- use the 8bit overlay, in R3G3B2
- all drawing by software, clear screen by hw
- X works in 8bit with wsfb
 1.34.4.2 02-Aug-2025  perseant Sync with HEAD
 1.34.4.1 28-Apr-2025  perseant file summitfb.c was added on branch perseant-exfatfs on 2025-08-02 05:55:42 +0000
 1.7 03-Dec-2023  thorpej Use vmem(9) rather than extent(9) to manage IOMMU mappings.
 1.6 29-Sep-2022  skrll malloc -> kmem
 1.5 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.4 24-Apr-2021  thorpej branches: 1.4.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.3 14-Jun-2020  chs branches: 1.3.4;
replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
 1.2 15-Apr-2019  skrll Trailing whitespace
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.36;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file uturn.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file uturn.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file uturn.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.3.4.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.3.4.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.4.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 14-May-2024  andvar fix recently committed typos by msaitoh in few more places, as well as few more.
mainly s/contigous/contiguous/ and s/miliseconds/milliseconds/ in comments.
 1.3 06-May-2023  andvar few more typos in the word "register", mainly s/resister/register/.
In one comment I assume that it was meant to be pull-up resistor.
 1.2 18-Oct-2014  snj src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file viper.h was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file viper.h was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file viper.h was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.5 24-Feb-2025  andvar s/requset/request/ in comments.
 1.4 07-Aug-2021  thorpej branches: 1.4.12;
Merge thorpej-cfargs2.
 1.3 24-Apr-2021  thorpej branches: 1.3.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.2 14-May-2020  skrll branches: 1.2.4;
Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.1 24-Feb-2014  skrll branches: 1.1.4; 1.1.6; 1.1.10; 1.1.40;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.1.40.1 03-Aug-2020  martin Pull up following revision(s) (requested by skrll in ticket #1035):

sys/arch/hppa/dev/lasi.c: revision 1.3
sys/arch/hppa/dev/wax.c: revision 1.2
sys/arch/hppa/dev/asp.c: revision 1.2
sys/arch/hppa/dev/dino.c: revision 1.5

Mask all interrupts before reading (and clearing) the interrupt request
register in attach.

Picked up by an assert in the qemu code.
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 24-Feb-2014  tls file wax.c was added on branch tls-maxphys on 2014-08-20 00:03:04 +0000
 1.1.6.2 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.1.6.1 24-Feb-2014  yamt file wax.c was added on branch yamt-pagecache on 2014-05-22 11:39:50 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 24-Feb-2014  rmind file wax.c was added on branch rmind-smpnet on 2014-05-18 17:45:10 +0000
 1.2.4.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.3.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4.12.1 02-Aug-2025  perseant Sync with HEAD

RSS XML Feed