Make machine_desc optional
As on arm64, we should be able to boot without a platform definition
There are currently 20 members in the machine_desc structure, most of which are already optional and do not need to get set by a platform. Based on kernel changes that went into linux-3.9 or are scheduled for 3.10, we can make all the other ones optional and provide default implementations.
Once all members have reasonable defaults that can work on DT enabled platforms,
we can make the machine_desc structure itself optional and allow a KVM guest or
qemu system to boot without having any machine_desc matching the "compatible" property of the root node. This lets us build a sensible "allnoconfig" and boot any
DT enabled kernel for any platform using qemu as long as we have the drivers.
Blueprint information
- Status:
- Started
- Approver:
- Deepak Saxena
- Priority:
- Medium
- Drafter:
- Jakub Pavelek
- Direction:
- Approved
- Assignee:
- Arnd Bergmann
- Definition:
- Approved
- Series goal:
- Accepted for kernel-merge-window
- Implementation:
- Good progress
- Milestone target:
- 3.11
- Started by
- Jakub Pavelek
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Meta:
Roadmap id: CARD-533
Headline: machine_desc has been made optional
Acceptance:
* merged to mainline
* Git commit URL or hash logged here
[jakub-pavelek 2013-03-11] Targeting mainline 3.10 release
[jakub-pavelek 2013-05-07] Not 3.10 more likely 3.11
Work Items
Work items for 13.05:
add default smp_ops : DONE
[arnd] make all platform callbacks optional : DONE
Work items for backlog:
[arnd] remove the mach-virt platform again, by making it use all the defaults : TODO
ensure we can always boot on qemu with all platforms disabled : TODO
Dependency tree
* Blueprints in grey have been implemented.