History log of /openbsd-current/sys/arch/mips64/include/pte.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.24 11-Jan-2023 visa

Add MIPS64r2 TLB read inhibit support

OK deraadt@ miod@


Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.23 01-May-2021 visa

Retire OpenBSD/sgi.

OK deraadt@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.22 26-Apr-2019 visa

Guard against repeated inclusion of <mips64/pte.h>. This fixes drm build
on loongson.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.21 09-Oct-2016 visa

Do not use MIPS64r2 instructions on Loongson 2. Now, a generic loongson
kernel has to learn a new trick in order to use TLB RI/XI on 3A2000.


# 1.20 06-Sep-2016 visa

Define PTE_* macros in one place. Use the lwu instruction for 32-bit PTE
loads on all systems as the TLB code does not need sign extension.


# 1.19 14-Aug-2016 visa

Utilize the TLB Execute-Inhibit bit with non-executable mappings on CPUs
that support the Execute-Inhibit exception. This makes user space W^X
effective on Octeon Plus and later Octeon versions.

Feedback from miod@, thanks!
No objection from deraadt@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 22-Mar-2014 miod

Shuffle tlblo-related defines, to better show which bits are software only,
and which bits end up in the actual tlb registers.

On non-R8000 kernels, shrink the actual physical address bits to add a new
software bit, PG_SP (for `special'), which will be used shortly. This halves
the physical memory addressable by non-MIPS_PTE64 kernels, which should not
be a problem anyway.


Revision tags: OPENBSD_5_5_BASE
# 1.17 08-Feb-2014 miod

Allow page table entries to be either 32 bits wide (the existing state of the
code), or 64 bits wide, if option MIPS_PTE64.
64-bit ptes allow for physical memory beyond 16GB (34 bits) to be addressable
by the pmap code.


Revision tags: OPENBSD_5_4_BASE
# 1.16 25-Mar-2013 deraadt

PGSHIFT -> PAGE_SHIFT


Revision tags: OPENBSD_5_3_BASE
# 1.15 29-Sep-2012 miod

Basic R8000 processor support. R8000 processors require MMU-specific code,
exception-specific code, clock-specific code, and L1 cache-specific code. L2
cache is per-design, of which only two exist: SGI Power Indigo2 (IP26) and SGI
Power Challenge (IP21) and are not covered by this commit.

R8000 processors also are 64-bit only processors with 64-bit coprocessor 0
registers, and lack so-called ``compatibility'' memory spaces allowing 32-bit
code to run with sign-extended addresses and registers.

The intrusive changes are covered by #ifdef CPU_R8000 stanzas. However,
trap() is split into a high-level wrapper and a new function, itsa(),
responsible for the actual trap servicing (which name couldn't be helped
because I'm an incorrigible punster). While an R8000 exception may cause
(via trap() ) multiple exceptions to be serviced, non-R8000 processors will
always service one exception in trap(), but they are nevertheless affected
by this code split.


# 1.14 29-Sep-2012 miod

Kill the mostly unused VMTLB_xxx and VMNUM_xxx defines. Move all tlb
knowledge to <machine/pte.h>. Add specific routines for tlb handling setup
(at cpu initialization time) and tlb ASID wrap.


Revision tags: OPENBSD_5_2_BASE
# 1.13 24-Apr-2012 miod

Add support for wired mappings, using the last unused bit in the PTE.


# 1.12 24-Apr-2012 miod

Introduce a #define for the number of PFN bits in a pte, to be used in the
.S code when masking the upper bits, instead of hardcoding them. Makes code
easier to understand (and also I might have a need to reduce PFN width on
some particular CPU models in the future).
No change in generated code.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.11 09-Apr-2011 deraadt

repair a 32-bit truncation in paddr_t calculation, allowing my 8GB
o350 to boot once again
ok miod


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.10 07-Dec-2009 miod

Support for 16KB page size kernels; page size is now set in <machine/param.h>
rather than <mips64/param.h>.

For now, kernels are kept at 4KB to give people some time to build 16KB
compatible binaries; this will change before the end of this release cycle.

Use of 16KB page size kernels yields a 18% speedup (which, offset by the
1.6% slowdown caused by the pmap changes, yields a 16.6% overall speedup).


# 1.9 07-Dec-2009 miod

Use a pool to manage pmap pte pages and top level segment table, instead of
directly allocating pages from uvm; this will allow us to eventually use
a different kernel page size without having to alter the pmap structures
layout.
No functional change; measured slowdown of 1.6% for 4KB page kernels.


# 1.8 18-Nov-2009 miod

Stricter type usage (width and signedness); first step towards 64 bit ptes.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.7 07-Apr-2008 miod

Define the pte cacheability bits from the cpu.h cache coherency constants.


Revision tags: OPENBSD_4_3_BASE
# 1.6 18-Oct-2007 miod

Get rid of the silly union for mips pte. No functional change except
pmap.h now includes pte.h.


Revision tags: OPENBSD_4_2_BASE
# 1.5 27-Apr-2007 miod

Remove unused macros, and make sure the remaining one do not truncate the
high 32 bits of addresses.


# 1.4 27-Apr-2007 miod

More pmap changes from the potpourri pool:
- use wm_page pg_flags pmap-reserved flags to store attributes, instead of
defining a vm_page_md field.
- use atomic operations to touch the above mentioned flags.
- never create ptes with PG_RO and PG_M set (this was harmless anyway).
- in pmap_clear_modify(), do not flush cache if the page was mapped uncached.

Tested on r5k, rm5200, r10k and r12k.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.3 07-Aug-2005 miod

Remove advertising clause from UCB licenses; ok deraad@


Revision tags: OPENBSD_3_7_BASE
# 1.2 20-Oct-2004 pefo

Fix some 64 bit address problems.
Some function names made more unique.
Other changes for the upcoming Origin 200 support.


# 1.1 20-Sep-2004 miod

Move <machine/pte.h> to mips64 land.


# 1.23 01-May-2021 visa

Retire OpenBSD/sgi.

OK deraadt@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.22 26-Apr-2019 visa

Guard against repeated inclusion of <mips64/pte.h>. This fixes drm build
on loongson.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.21 09-Oct-2016 visa

Do not use MIPS64r2 instructions on Loongson 2. Now, a generic loongson
kernel has to learn a new trick in order to use TLB RI/XI on 3A2000.


# 1.20 06-Sep-2016 visa

Define PTE_* macros in one place. Use the lwu instruction for 32-bit PTE
loads on all systems as the TLB code does not need sign extension.


# 1.19 14-Aug-2016 visa

Utilize the TLB Execute-Inhibit bit with non-executable mappings on CPUs
that support the Execute-Inhibit exception. This makes user space W^X
effective on Octeon Plus and later Octeon versions.

Feedback from miod@, thanks!
No objection from deraadt@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 22-Mar-2014 miod

Shuffle tlblo-related defines, to better show which bits are software only,
and which bits end up in the actual tlb registers.

On non-R8000 kernels, shrink the actual physical address bits to add a new
software bit, PG_SP (for `special'), which will be used shortly. This halves
the physical memory addressable by non-MIPS_PTE64 kernels, which should not
be a problem anyway.


Revision tags: OPENBSD_5_5_BASE
# 1.17 08-Feb-2014 miod

Allow page table entries to be either 32 bits wide (the existing state of the
code), or 64 bits wide, if option MIPS_PTE64.
64-bit ptes allow for physical memory beyond 16GB (34 bits) to be addressable
by the pmap code.


Revision tags: OPENBSD_5_4_BASE
# 1.16 25-Mar-2013 deraadt

PGSHIFT -> PAGE_SHIFT


Revision tags: OPENBSD_5_3_BASE
# 1.15 29-Sep-2012 miod

Basic R8000 processor support. R8000 processors require MMU-specific code,
exception-specific code, clock-specific code, and L1 cache-specific code. L2
cache is per-design, of which only two exist: SGI Power Indigo2 (IP26) and SGI
Power Challenge (IP21) and are not covered by this commit.

R8000 processors also are 64-bit only processors with 64-bit coprocessor 0
registers, and lack so-called ``compatibility'' memory spaces allowing 32-bit
code to run with sign-extended addresses and registers.

The intrusive changes are covered by #ifdef CPU_R8000 stanzas. However,
trap() is split into a high-level wrapper and a new function, itsa(),
responsible for the actual trap servicing (which name couldn't be helped
because I'm an incorrigible punster). While an R8000 exception may cause
(via trap() ) multiple exceptions to be serviced, non-R8000 processors will
always service one exception in trap(), but they are nevertheless affected
by this code split.


# 1.14 29-Sep-2012 miod

Kill the mostly unused VMTLB_xxx and VMNUM_xxx defines. Move all tlb
knowledge to <machine/pte.h>. Add specific routines for tlb handling setup
(at cpu initialization time) and tlb ASID wrap.


Revision tags: OPENBSD_5_2_BASE
# 1.13 24-Apr-2012 miod

Add support for wired mappings, using the last unused bit in the PTE.


# 1.12 24-Apr-2012 miod

Introduce a #define for the number of PFN bits in a pte, to be used in the
.S code when masking the upper bits, instead of hardcoding them. Makes code
easier to understand (and also I might have a need to reduce PFN width on
some particular CPU models in the future).
No change in generated code.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.11 09-Apr-2011 deraadt

repair a 32-bit truncation in paddr_t calculation, allowing my 8GB
o350 to boot once again
ok miod


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.10 07-Dec-2009 miod

Support for 16KB page size kernels; page size is now set in <machine/param.h>
rather than <mips64/param.h>.

For now, kernels are kept at 4KB to give people some time to build 16KB
compatible binaries; this will change before the end of this release cycle.

Use of 16KB page size kernels yields a 18% speedup (which, offset by the
1.6% slowdown caused by the pmap changes, yields a 16.6% overall speedup).


# 1.9 07-Dec-2009 miod

Use a pool to manage pmap pte pages and top level segment table, instead of
directly allocating pages from uvm; this will allow us to eventually use
a different kernel page size without having to alter the pmap structures
layout.
No functional change; measured slowdown of 1.6% for 4KB page kernels.


# 1.8 18-Nov-2009 miod

Stricter type usage (width and signedness); first step towards 64 bit ptes.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.7 07-Apr-2008 miod

Define the pte cacheability bits from the cpu.h cache coherency constants.


Revision tags: OPENBSD_4_3_BASE
# 1.6 18-Oct-2007 miod

Get rid of the silly union for mips pte. No functional change except
pmap.h now includes pte.h.


Revision tags: OPENBSD_4_2_BASE
# 1.5 27-Apr-2007 miod

Remove unused macros, and make sure the remaining one do not truncate the
high 32 bits of addresses.


# 1.4 27-Apr-2007 miod

More pmap changes from the potpourri pool:
- use wm_page pg_flags pmap-reserved flags to store attributes, instead of
defining a vm_page_md field.
- use atomic operations to touch the above mentioned flags.
- never create ptes with PG_RO and PG_M set (this was harmless anyway).
- in pmap_clear_modify(), do not flush cache if the page was mapped uncached.

Tested on r5k, rm5200, r10k and r12k.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.3 07-Aug-2005 miod

Remove advertising clause from UCB licenses; ok deraad@


Revision tags: OPENBSD_3_7_BASE
# 1.2 20-Oct-2004 pefo

Fix some 64 bit address problems.
Some function names made more unique.
Other changes for the upcoming Origin 200 support.


# 1.1 20-Sep-2004 miod

Move <machine/pte.h> to mips64 land.


# 1.22 26-Apr-2019 visa

Guard against repeated inclusion of <mips64/pte.h>. This fixes drm build
on loongson.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.21 09-Oct-2016 visa

Do not use MIPS64r2 instructions on Loongson 2. Now, a generic loongson
kernel has to learn a new trick in order to use TLB RI/XI on 3A2000.


# 1.20 06-Sep-2016 visa

Define PTE_* macros in one place. Use the lwu instruction for 32-bit PTE
loads on all systems as the TLB code does not need sign extension.


# 1.19 14-Aug-2016 visa

Utilize the TLB Execute-Inhibit bit with non-executable mappings on CPUs
that support the Execute-Inhibit exception. This makes user space W^X
effective on Octeon Plus and later Octeon versions.

Feedback from miod@, thanks!
No objection from deraadt@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 22-Mar-2014 miod

Shuffle tlblo-related defines, to better show which bits are software only,
and which bits end up in the actual tlb registers.

On non-R8000 kernels, shrink the actual physical address bits to add a new
software bit, PG_SP (for `special'), which will be used shortly. This halves
the physical memory addressable by non-MIPS_PTE64 kernels, which should not
be a problem anyway.


Revision tags: OPENBSD_5_5_BASE
# 1.17 08-Feb-2014 miod

Allow page table entries to be either 32 bits wide (the existing state of the
code), or 64 bits wide, if option MIPS_PTE64.
64-bit ptes allow for physical memory beyond 16GB (34 bits) to be addressable
by the pmap code.


Revision tags: OPENBSD_5_4_BASE
# 1.16 25-Mar-2013 deraadt

PGSHIFT -> PAGE_SHIFT


Revision tags: OPENBSD_5_3_BASE
# 1.15 29-Sep-2012 miod

Basic R8000 processor support. R8000 processors require MMU-specific code,
exception-specific code, clock-specific code, and L1 cache-specific code. L2
cache is per-design, of which only two exist: SGI Power Indigo2 (IP26) and SGI
Power Challenge (IP21) and are not covered by this commit.

R8000 processors also are 64-bit only processors with 64-bit coprocessor 0
registers, and lack so-called ``compatibility'' memory spaces allowing 32-bit
code to run with sign-extended addresses and registers.

The intrusive changes are covered by #ifdef CPU_R8000 stanzas. However,
trap() is split into a high-level wrapper and a new function, itsa(),
responsible for the actual trap servicing (which name couldn't be helped
because I'm an incorrigible punster). While an R8000 exception may cause
(via trap() ) multiple exceptions to be serviced, non-R8000 processors will
always service one exception in trap(), but they are nevertheless affected
by this code split.


# 1.14 29-Sep-2012 miod

Kill the mostly unused VMTLB_xxx and VMNUM_xxx defines. Move all tlb
knowledge to <machine/pte.h>. Add specific routines for tlb handling setup
(at cpu initialization time) and tlb ASID wrap.


Revision tags: OPENBSD_5_2_BASE
# 1.13 24-Apr-2012 miod

Add support for wired mappings, using the last unused bit in the PTE.


# 1.12 24-Apr-2012 miod

Introduce a #define for the number of PFN bits in a pte, to be used in the
.S code when masking the upper bits, instead of hardcoding them. Makes code
easier to understand (and also I might have a need to reduce PFN width on
some particular CPU models in the future).
No change in generated code.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.11 09-Apr-2011 deraadt

repair a 32-bit truncation in paddr_t calculation, allowing my 8GB
o350 to boot once again
ok miod


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.10 07-Dec-2009 miod

Support for 16KB page size kernels; page size is now set in <machine/param.h>
rather than <mips64/param.h>.

For now, kernels are kept at 4KB to give people some time to build 16KB
compatible binaries; this will change before the end of this release cycle.

Use of 16KB page size kernels yields a 18% speedup (which, offset by the
1.6% slowdown caused by the pmap changes, yields a 16.6% overall speedup).


# 1.9 07-Dec-2009 miod

Use a pool to manage pmap pte pages and top level segment table, instead of
directly allocating pages from uvm; this will allow us to eventually use
a different kernel page size without having to alter the pmap structures
layout.
No functional change; measured slowdown of 1.6% for 4KB page kernels.


# 1.8 18-Nov-2009 miod

Stricter type usage (width and signedness); first step towards 64 bit ptes.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.7 07-Apr-2008 miod

Define the pte cacheability bits from the cpu.h cache coherency constants.


Revision tags: OPENBSD_4_3_BASE
# 1.6 18-Oct-2007 miod

Get rid of the silly union for mips pte. No functional change except
pmap.h now includes pte.h.


Revision tags: OPENBSD_4_2_BASE
# 1.5 27-Apr-2007 miod

Remove unused macros, and make sure the remaining one do not truncate the
high 32 bits of addresses.


# 1.4 27-Apr-2007 miod

More pmap changes from the potpourri pool:
- use wm_page pg_flags pmap-reserved flags to store attributes, instead of
defining a vm_page_md field.
- use atomic operations to touch the above mentioned flags.
- never create ptes with PG_RO and PG_M set (this was harmless anyway).
- in pmap_clear_modify(), do not flush cache if the page was mapped uncached.

Tested on r5k, rm5200, r10k and r12k.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.3 07-Aug-2005 miod

Remove advertising clause from UCB licenses; ok deraad@


Revision tags: OPENBSD_3_7_BASE
# 1.2 20-Oct-2004 pefo

Fix some 64 bit address problems.
Some function names made more unique.
Other changes for the upcoming Origin 200 support.


# 1.1 20-Sep-2004 miod

Move <machine/pte.h> to mips64 land.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.21 09-Oct-2016 visa

Do not use MIPS64r2 instructions on Loongson 2. Now, a generic loongson
kernel has to learn a new trick in order to use TLB RI/XI on 3A2000.


# 1.20 06-Sep-2016 visa

Define PTE_* macros in one place. Use the lwu instruction for 32-bit PTE
loads on all systems as the TLB code does not need sign extension.


# 1.19 14-Aug-2016 visa

Utilize the TLB Execute-Inhibit bit with non-executable mappings on CPUs
that support the Execute-Inhibit exception. This makes user space W^X
effective on Octeon Plus and later Octeon versions.

Feedback from miod@, thanks!
No objection from deraadt@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 22-Mar-2014 miod

Shuffle tlblo-related defines, to better show which bits are software only,
and which bits end up in the actual tlb registers.

On non-R8000 kernels, shrink the actual physical address bits to add a new
software bit, PG_SP (for `special'), which will be used shortly. This halves
the physical memory addressable by non-MIPS_PTE64 kernels, which should not
be a problem anyway.


Revision tags: OPENBSD_5_5_BASE
# 1.17 08-Feb-2014 miod

Allow page table entries to be either 32 bits wide (the existing state of the
code), or 64 bits wide, if option MIPS_PTE64.
64-bit ptes allow for physical memory beyond 16GB (34 bits) to be addressable
by the pmap code.


Revision tags: OPENBSD_5_4_BASE
# 1.16 25-Mar-2013 deraadt

PGSHIFT -> PAGE_SHIFT


Revision tags: OPENBSD_5_3_BASE
# 1.15 29-Sep-2012 miod

Basic R8000 processor support. R8000 processors require MMU-specific code,
exception-specific code, clock-specific code, and L1 cache-specific code. L2
cache is per-design, of which only two exist: SGI Power Indigo2 (IP26) and SGI
Power Challenge (IP21) and are not covered by this commit.

R8000 processors also are 64-bit only processors with 64-bit coprocessor 0
registers, and lack so-called ``compatibility'' memory spaces allowing 32-bit
code to run with sign-extended addresses and registers.

The intrusive changes are covered by #ifdef CPU_R8000 stanzas. However,
trap() is split into a high-level wrapper and a new function, itsa(),
responsible for the actual trap servicing (which name couldn't be helped
because I'm an incorrigible punster). While an R8000 exception may cause
(via trap() ) multiple exceptions to be serviced, non-R8000 processors will
always service one exception in trap(), but they are nevertheless affected
by this code split.


# 1.14 29-Sep-2012 miod

Kill the mostly unused VMTLB_xxx and VMNUM_xxx defines. Move all tlb
knowledge to <machine/pte.h>. Add specific routines for tlb handling setup
(at cpu initialization time) and tlb ASID wrap.


Revision tags: OPENBSD_5_2_BASE
# 1.13 24-Apr-2012 miod

Add support for wired mappings, using the last unused bit in the PTE.


# 1.12 24-Apr-2012 miod

Introduce a #define for the number of PFN bits in a pte, to be used in the
.S code when masking the upper bits, instead of hardcoding them. Makes code
easier to understand (and also I might have a need to reduce PFN width on
some particular CPU models in the future).
No change in generated code.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.11 09-Apr-2011 deraadt

repair a 32-bit truncation in paddr_t calculation, allowing my 8GB
o350 to boot once again
ok miod


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.10 07-Dec-2009 miod

Support for 16KB page size kernels; page size is now set in <machine/param.h>
rather than <mips64/param.h>.

For now, kernels are kept at 4KB to give people some time to build 16KB
compatible binaries; this will change before the end of this release cycle.

Use of 16KB page size kernels yields a 18% speedup (which, offset by the
1.6% slowdown caused by the pmap changes, yields a 16.6% overall speedup).


# 1.9 07-Dec-2009 miod

Use a pool to manage pmap pte pages and top level segment table, instead of
directly allocating pages from uvm; this will allow us to eventually use
a different kernel page size without having to alter the pmap structures
layout.
No functional change; measured slowdown of 1.6% for 4KB page kernels.


# 1.8 18-Nov-2009 miod

Stricter type usage (width and signedness); first step towards 64 bit ptes.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.7 07-Apr-2008 miod

Define the pte cacheability bits from the cpu.h cache coherency constants.


Revision tags: OPENBSD_4_3_BASE
# 1.6 18-Oct-2007 miod

Get rid of the silly union for mips pte. No functional change except
pmap.h now includes pte.h.


Revision tags: OPENBSD_4_2_BASE
# 1.5 27-Apr-2007 miod

Remove unused macros, and make sure the remaining one do not truncate the
high 32 bits of addresses.


# 1.4 27-Apr-2007 miod

More pmap changes from the potpourri pool:
- use wm_page pg_flags pmap-reserved flags to store attributes, instead of
defining a vm_page_md field.
- use atomic operations to touch the above mentioned flags.
- never create ptes with PG_RO and PG_M set (this was harmless anyway).
- in pmap_clear_modify(), do not flush cache if the page was mapped uncached.

Tested on r5k, rm5200, r10k and r12k.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.3 07-Aug-2005 miod

Remove advertising clause from UCB licenses; ok deraad@


Revision tags: OPENBSD_3_7_BASE
# 1.2 20-Oct-2004 pefo

Fix some 64 bit address problems.
Some function names made more unique.
Other changes for the upcoming Origin 200 support.


# 1.1 20-Sep-2004 miod

Move <machine/pte.h> to mips64 land.