Page MenuHomeFreeBSD

Add 64-bit support for PowerPC Book-E
ClosedPublic

Authored by jhibbits on Feb 4 2017, 7:00 AM.
Tags
None
Referenced Files
F115982067: D9433.id26372.diff
Thu, May 1, 4:46 AM
F115976279: D9433.id24713.diff
Thu, May 1, 3:02 AM
F115970642: D9433.id24905.diff
Thu, May 1, 1:18 AM
F115964830: D9433.id25828.diff
Wed, Apr 30, 11:36 PM
Unknown Object (File)
Sun, Apr 20, 6:41 AM
Unknown Object (File)
Wed, Apr 16, 8:55 PM
Unknown Object (File)
Tue, Apr 15, 8:30 PM
Unknown Object (File)
Mar 6 2025, 10:50 PM
Subscribers

Details

Summary

Extend the Book-E support into 64-bits. Fix drivers that make 32-bit
assumptions.

Test Plan

Continuously testing on a P5020 board (Amiga X5000/20)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 7824
Build 7968: arc lint + arc unit

Event Timeline

jhibbits retitled this revision from to Add 64-bit support for PowerPC Book-E.
jhibbits updated this object.
jhibbits edited the test plan for this revision. (Show Details)
jhibbits added reviewers: PowerPC, nwhitehorn.

I'll note this is not complete, but I'll take feedback as I progress.

Remove driver updates, to be done separately. Add powerpc 32-bit binary support.

Tested with running /sbin/init (64-bit and 32-bit) from an embedded md.

sys/powerpc/booke/locore.S
585–589

Shouldn't that just be the following (since you have the #defines for it):
LOAD %r3, 0(%r3)

jhibbits added inline comments.
sys/powerpc/booke/locore.S
585–589

Yes it should.

sys/powerpc/booke/locore.S
982–992

Given this and other usage elsewhere. Would it make more sense to create a macro for the use of .llong or .long based on __powerpc64__ defined or not?

sys/powerpc/booke/pmap.c
611

Typo in comment. Should be...

/* Free corresponding ptbl buf. */

769

Comment says "this will sleep", yet you have provisions for nosleep flag.

1352

Why is this needed? It doesn't seem to be used in these additions.

1460

Line seems a bit long, candidate for wrapping.

4039

Shouldn't the wasted space part be using PRI0ptrX also?

4071

It would be better to have #defines for the VA and PA in this tlb1_set_entry, instead of bare values.

jhibbits added inline comments.
sys/powerpc/booke/locore.S
982–992

Good idea.

sys/powerpc/booke/pmap.c
611

Oops, typo copy.

769

This was copied from Juniper code. I forgot to clean up the comments when adapting it to head.

1352

Oops, this was for debug purposes. Need to remove this and one other.

1460

Probably a better candidate for macroizing.

4039

Yes it should. Good catch.

4071

This was also debug. It'll be committed separately with EARLY_PRINTF changes.

This revision was automatically updated to reflect the committed changes.