⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mm

📁 讲述linux的初始化过程
💻
字号:
The current state of Linux/PA-RISC mm is BROKEN.Someone needs to sit down and thoroughly rewrite all the cache flushingmacro definitions.  Here are some of the problems, followed by what Ithink needs to be done about them.(1) We're using fdce / fice everywhere.  This has to stop (except inthe routines which flush the entire cache).  The right instructions tobe using are fdc/fic.(2) fdc/fic will throw exceptions if the address they reference isn'tmapped.  Therefore we need to check the page is mapped before flushing(we're guaranteed not to have the page dirty if we don't have a softwaremapping for it any longer, right?)(3) the flush macros are right now tunnelled down to one routine to flushthe data cache and one routine to flush the insn cache.  this is wrong.we should take hints from how we're called and optimise our routinesaccordingly.(4) fdc/fic actually take space register arguments.  fic takes an 3-bit srargument and fdc takes a 2-bit sr argument.  right now, there's a lot ofpissing about with %sr1 and all the macros use %sr1.  This is crazy.  Wenormally _know_ what's being referred to, and it's the current task.  Soif we want to flush that, just use %sr3.  If it happens to be kernel,use %sr0 for fdc and %sr4 for fic.(5) we need to write flush_kernel_dcache_range and use it on kerneladdresses.  all the macros are defined to work on the _current task's_virtual address space.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -