History log of /openbsd-current/sys/arch/powerpc64/powerpc64/syncicache.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.5 21-Oct-2022 gkoehler

Change len in syncicache(_, len) from int to size_t

The powerpc64 part is under #if 0, so this change affects only macppc.
Simplify powerpc64's __syncicache (which had size_t len) and copy it
to macppc's syncicache (which had int len).

macppc was looping while ((l -= CACHELINESIZE) > 0). The loop would
be infinite if l became an unsigned type like size_t. It is simpler
to set size_t i = 0, do i += by, and loop while (i < len). It helps
that dcbst and icbi can add 2 registers, from + i.


Revision tags: OPENBSD_7_2_BASE
# 1.4 29-Aug-2022 jsg

use ansi volatile keyword, not __volatile
ok miod@ guenther@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE
# 1.3 26-Jun-2020 kettenis

Use the right "virtual address" when flushing TLB entries.
Implement pmap_{is|clear}_{referenced|modified}.
Fix PTED_PTEGIDX().


# 1.2 12-Jun-2020 gkoehler

Teach powerpc64 ddb to x, w, break, step, trace.

Copy and adapt db_memrw.c from amd64, so ddb can read and write kernel
memory. It can now insert breakpoints in the kernel text. Change
__syncicache() to prevent an infinite loop when len isn't a multiple
of cacheline_size.

Get breakpoints and single-stepping to work.
Single-stepping uses msr bit PSL_SE (single-step trace enable).

Adapt db_trace.c db_stack_trace_print() from powerpc 32, but without
all its features. For now, powerpc64 trace doesn't print function
arguments and doesn't recognize traps.

"go for it" kettenis@


# 1.1 22-May-2020 kettenis

Add some very simple trap handling.


# 1.4 29-Aug-2022 jsg

use ansi volatile keyword, not __volatile
ok miod@ guenther@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE
# 1.3 26-Jun-2020 kettenis

Use the right "virtual address" when flushing TLB entries.
Implement pmap_{is|clear}_{referenced|modified}.
Fix PTED_PTEGIDX().


# 1.2 12-Jun-2020 gkoehler

Teach powerpc64 ddb to x, w, break, step, trace.

Copy and adapt db_memrw.c from amd64, so ddb can read and write kernel
memory. It can now insert breakpoints in the kernel text. Change
__syncicache() to prevent an infinite loop when len isn't a multiple
of cacheline_size.

Get breakpoints and single-stepping to work.
Single-stepping uses msr bit PSL_SE (single-step trace enable).

Adapt db_trace.c db_stack_trace_print() from powerpc 32, but without
all its features. For now, powerpc64 trace doesn't print function
arguments and doesn't recognize traps.

"go for it" kettenis@


# 1.1 22-May-2020 kettenis

Add some very simple trap handling.


# 1.3 26-Jun-2020 kettenis

Use the right "virtual address" when flushing TLB entries.
Implement pmap_{is|clear}_{referenced|modified}.
Fix PTED_PTEGIDX().


# 1.2 12-Jun-2020 gkoehler

Teach powerpc64 ddb to x, w, break, step, trace.

Copy and adapt db_memrw.c from amd64, so ddb can read and write kernel
memory. It can now insert breakpoints in the kernel text. Change
__syncicache() to prevent an infinite loop when len isn't a multiple
of cacheline_size.

Get breakpoints and single-stepping to work.
Single-stepping uses msr bit PSL_SE (single-step trace enable).

Adapt db_trace.c db_stack_trace_print() from powerpc 32, but without
all its features. For now, powerpc64 trace doesn't print function
arguments and doesn't recognize traps.

"go for it" kettenis@


# 1.1 22-May-2020 kettenis

Add some very simple trap handling.


# 1.2 12-Jun-2020 gkoehler

Teach powerpc64 ddb to x, w, break, step, trace.

Copy and adapt db_memrw.c from amd64, so ddb can read and write kernel
memory. It can now insert breakpoints in the kernel text. Change
__syncicache() to prevent an infinite loop when len isn't a multiple
of cacheline_size.

Get breakpoints and single-stepping to work.
Single-stepping uses msr bit PSL_SE (single-step trace enable).

Adapt db_trace.c db_stack_trace_print() from powerpc 32, but without
all its features. For now, powerpc64 trace doesn't print function
arguments and doesn't recognize traps.

"go for it" kettenis@


# 1.1 22-May-2020 kettenis

Add some very simple trap handling.


# 1.1 22-May-2020 kettenis

Add some very simple trap handling.