Messages in this thread | | | Date | Thu, 14 May 2020 16:47:55 +0530 | From | afzal mohammed <> | Subject | Re: ARM: static kernel in vmalloc space |
| |
Hi,
On Tue, May 12, 2020 at 09:49:59PM +0200, Arnd Bergmann wrote:
> Any idea which bit you want to try next?
My plan has been to next post patches for the static kernel migration to vmalloc space (currently the code is rigid, taking easy route wherever possible & not of high quality) as that feature has an independent existence & adds value by itself. And then start working on other steps towards VMSPLIT_4G_4G.
Now that you mentioned about other things, i will slowly start those as well.
> Creating a raw_copy_{from,to}_user() > based on get_user_pages()/kmap_atomic()/memcpy() is probably a good > next thing to do. I think it can be done one page at a time with only > checking for > get_fs(), access_ok(), and page permissions, while get_user()/put_user() > need to handle a few more corner cases.
Before starting w/ other things, i would like to align on the high level design,
My understanding (mostly based on your comments) as follows, (i currently do not have a firm grip over these things, hope to have it once started w/ the implementation)
1. SoC w/ LPAE 2. TTBR1 (top 256MB) for static kernel, modules, io mappings, vmalloc, kmap, fixmap & vectors 3. TTBR0 (low 3768MB) for user space & lowmem (kernel lowmem to have separate ASID) 4. for user space to/from copy a. pin user pages b. kmap user page (can't corresponding lowmem be used instead ?) c. copy
Main points are as above, right ?, anything missed ?, or anything more you want to add ?, let me know your opinion.
Regards afzal
| |