Messages in this thread | | | From | Michal Simek <> | Subject | Microblaze early console support | Date | Mon, 4 Apr 2011 18:30:54 +0200 |
| |
Hi,
I have one question about early console support on MMU kernel. When do you register an early console and what TLB mapping you use?
For Microblaze I registered it before main memory is setup that's why I was hardcoded TLB 63 to 1:1 mapping (virt addr = phys addr). It is output only for early_printk messages but I would like to use it as boot console. There are only some messages that's why TLB 63 was released later on. That is the current state.
I have added CON_BOOT flag and register early console by register_console function and I allocate TLB 63 for it. But unfortunately I haven't found any function in unregister_console which is called for unregistering to help me to release TLB 63 when early console is not used. Is there any way how to do it?
From our experiment in past there is performance degression when kernel can't use a TLB that's why I tried to find out a way to release TLB 63. This is the reason why I would like to know your opinion if my style is correct or not. I created new remap_early_printk function which does ioremap for console space. This function is called from setup_arch when memory is setup. Then early mapping of TLB 63 is automatically released and can be used for Linux purpose. Is it correct design how to do it?
How do you handle it in your arch? Do you register early console before memory initialization is done?
You can also look at my patch I have done.
Thanks for your suggestions, Michal
| |