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
Unknown Object (File)
Thu, Nov 28, 10:04 PM
Unknown Object (File)
Nov 21 2024, 11:04 PM
Unknown Object (File)
Nov 4 2024, 11:00 AM
Unknown Object (File)
Oct 27 2024, 12:10 AM
Unknown Object (File)
Oct 18 2024, 1:14 AM
Unknown Object (File)
Oct 5 2024, 1:53 AM
Unknown Object (File)
Oct 4 2024, 2:20 PM
Unknown Object (File)
Oct 2 2024, 6:31 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 Not Applicable
Unit
Tests Not Applicable

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 ↗(On Diff #24905)

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 ↗(On Diff #24905)

Yes it should.

sys/powerpc/booke/locore.S
986–996 ↗(On Diff #24905)

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
610 ↗(On Diff #24905)

Typo in comment. Should be...

/* Free corresponding ptbl buf. */

768 ↗(On Diff #24905)

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

1353 ↗(On Diff #24905)

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

1461 ↗(On Diff #24905)

Line seems a bit long, candidate for wrapping.

4040 ↗(On Diff #24905)

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

4072 ↗(On Diff #24905)

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
986–996 ↗(On Diff #24905)

Good idea.

sys/powerpc/booke/pmap.c
610 ↗(On Diff #24905)

Oops, typo copy.

768 ↗(On Diff #24905)

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

1353 ↗(On Diff #24905)

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

1461 ↗(On Diff #24905)

Probably a better candidate for macroizing.

4040 ↗(On Diff #24905)

Yes it should. Good catch.

4072 ↗(On Diff #24905)

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

This revision was automatically updated to reflect the committed changes.