Page MenuHomeFreeBSD

[BCM] Improve MIPS trampoline code
ClosedPublic

Authored by mizhka on May 6 2016, 5:12 PM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 29 2024, 3:53 AM
Unknown Object (File)
Jan 28 2024, 9:12 PM
Unknown Object (File)
Dec 22 2023, 10:49 PM
Unknown Object (File)
Oct 19 2023, 7:04 PM
Unknown Object (File)
Sep 18 2023, 9:49 AM
Unknown Object (File)
Sep 18 2023, 9:48 AM
Unknown Object (File)
Sep 3 2023, 3:23 AM
Unknown Object (File)
Sep 3 2023, 3:22 AM

Details

Reviewers
adrian
Group Reviewers
MIPS
Commits
rS299993: [mips] Improve MIPS trampoline code
Summary

This patch fix trampoline build. inckern.S increases stack and calls _startC of elf_trampoline, so inckern.S should be called before elf_trampoline. gcc4.2 puts text (code) into image according to order of source files in this call, so order has changed.
In addition make will install trampoline kernel. It allows to use kernel for firmware build.

Test Plan

Tested on MIPS ASUS boards

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mizhka retitled this revision from to [BCM] Improve MIPS trampoline code.
mizhka updated this object.
mizhka edited the test plan for this revision. (Show Details)
mizhka added a reviewer: adrian.
mizhka set the repository for this revision to rS FreeBSD src repository - subversion.

This requires more eyeballs!

sys/conf/Makefile.mips
40 ↗(On Diff #15976)

This no longer looks like an obscure value. Why the change? If nothing else the comment sounds wrong relative to the commit message.

76 ↗(On Diff #15976)

Why reorder here?

sys/conf/Makefile.mips
40 ↗(On Diff #15976)

Yes, comment to be corrected. Moreover, it's better to make trampoline load address as parameter of kernel configuration. Is it possible? Sorry, but I don't know how to do it.

76 ↗(On Diff #15976)

inckern.S increase stack and calls _startC of elf_trampoline, so inckern.S should be called before elf_trampoline. gcc4.2 puts text (code) into image according to order of source files in this call, so order has changed.

sys/conf/Makefile.mips
40 ↗(On Diff #15976)

Sorry for stupid question, just found example. Please ignore it.

mizhka updated this object.
mizhka edited edge metadata.
mizhka marked 3 inline comments as done.
mizhka added inline comments.
sys/conf/Makefile.mips
40 ↗(On Diff #15976)

Removed this change as TRAMPLOADADDR can be specified on kernel configuration level.

Ok, i'll go test this on atheros mips and qemu too and see how it goes!

This revision was automatically updated to reflect the committed changes.