DON'T MERGE: break compilation. Massive changes
DON'T MERGE: vmlinux link issues