Filling x86_64 Pointers Top Sixteen Bits With Tag Data?

ぐ巨炮叔叔 提交于 2020-01-04 04:54:10

问题


Since current x86_64 implementations are only capable of a forty eight bit "virtual" address space to reduce MMU complexity, could the top sixteen bits be used to implement security tag data. Do the current implementations restrict this (even know the IP and other segment registers are a full sixty four bits) usage and restrict the top sixteen bits of pointers to only contain virtual addresses and not other data?


回答1:


No, you cannot. The top 16 bits are currently required to all be the same (e.g, 0x0000… or 0xffff…) — addresses which do not fit this pattern will always cause a fault. Future revisions may have "real" address space in this range, so it's not safe to use these bits for tags.



来源:https://stackoverflow.com/questions/27751470/filling-x86-64-pointers-top-sixteen-bits-with-tag-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!