<html><body><div><br></div><div>Hello sirs,</div><div><br></div><div>I've cleaned up my works for fb implementation and the graphic console. Now it's available on my github:</div><div><br></div><div>mailbox: <a href="https://github.com/yangqiao/rtems/commit/4b4239135d23d82c2a284c8c848d8f97cd3c5e41">https://github.com/yangqiao/rtems/commit/4b4239135d23d82c2a284c8c848d8f97cd3c5e41</a></div><div>videocore: <a href="https://github.com/yangqiao/rtems/commit/38c26a49126e5cff92ae389dba252cb180362c90">https://github.com/yangqiao/rtems/commit/38c26a49126e5cff92ae389dba252cb180362c90</a></div><div>fb : <a href="https://github.com/yangqiao/rtems/commit/979a15412f84f8b0095a613d66cddbc3ca777efc">https://github.com/yangqiao/rtems/commit/979a15412f84f8b0095a613d66cddbc3ca777efc</a></div><div>outch: <a href="https://github.com/yangqiao/rtems/commit/858a9b091025acc4bfe912f41d70c9a73b99d773">https://github.com/yangqiao/rtems/commit/858a9b091025acc4bfe912f41d70c9a73b99d773</a></div><div>fbcons: <a href="https://github.com/yangqiao/rtems/commit/1d82ef8ff28e0ef6a062313ca4874fe720a32e6e">https://github.com/yangqiao/rtems/commit/1d82ef8ff28e0ef6a062313ca4874fe720a32e6e</a></div><div><br></div><div>A screen shot for the graphic text console is in attachment.</div><div><br></div><div>Still some problem I've got difficulties to solve : </div><div><br></div><div>1. Will rpi bsp has any kernel command line setup like i386? This would let us to choose fb console port or serial console port . Or maybe we just use compiler macro to enable/disable graphic console output?</div><div><br></div><div>2. I've found that printk don't output to serial port instead of fbcons even if I've set up the BSPPrintkPort to the fb console. Is it acceptable or what I missed in the console implementation? I've read through the i386 bsp but I can't find out the reason.</div><div><br></div><div>3. I still have no idea on  how can I find out all possible fb buffer's location as we need to enable the segment of memory in mmu configuration. I can find few document on how the cpu allocate the buffer. I'm trying to ask other communities, forums.</div><div><br></div><div>Something waiting to be done:</div><div> </div><div>1. graphic console need the keyboard implementation . I would like to know the status of keyboard implementation.</div><div><br></div><div>2. generate a bitmap font file instead of the one I used under GPL. </div><div><br></div><div>3. restructure the reusable code after the it's reviewed.</div><div><br></div><div>I will post a blog later for my works. </div><div>I'll leave the commits for you to review.<img class="_auto-scale " style="margin:10px;" title="fbcons.png" src="cid:7b83bc2c-f48e-4d1d-9d22-2f9b01ce5ae4@icloud.com"                                                                                                                 alt="fbcons.png" data-inline-image="true" data-mce-src="blob:https%3A//www.icloud.com/c4b991a4-fe9f-4929-a4a7-5530315103b9" data-mce-style="margin: 10px;"></div><div><br>On Jun 07, 2015, at 10:53 PM, QIAO YANG <yangqiao0505@me.com> wrote:<br><br></div><div><blockquote type="cite"><div class="msg-quote"><div>Hi,</div><div><br></div><div>I've got a few questions over the fbcons implementation details and edid lecture:</div><div><br></div><div>1.  I should place the video init function where exactly? In the end of bspstarthooks.c  hook_1() or in the bspstart.c ?</div><div><br></div><div>2.  I need to ensure the structure buffer is 16-byte aligned .  I use __attribute__((aligned (16))) to specific the alignement. Is there any rtems macro for this or it's ok that I use the compiler attribute for all structure definition?</div><div><br></div><div>3. Is it necessary to encapsule the communication with videocore interfaces with individual functions? Or just let the developper construct the buffer to send in a certain structure with the macros defined? </div><div><br></div><div>4. I've read many others' implementations of framebuffer. I've found that they all just query the display size by the videocore interface and use that for the resolution setup. So I wonder if it's obliged to get the EDID blocks, parse it then decide the resolution.  I proposed that we try to get the resolution from cmdline setup, use it if it's supported. If the setup is not supported, we'll query the display size. Normally the query can't fail as all others will throw an error when the query failed and stop the fbinit in their code <span style="line-height: 1.5;">(except for qemu emulator,  width=0,height= 0 will be returned)</span> <span style="line-height: 1.5;">. If the query does fail, we will then try the default resolution: 640*480. </span></div><div><span style="line-height: 1.5;"><br></span></div><div><br></div><div>For now, I think I've just need some more time to cleanup, write test samples and then send patches. If everything's ok next week I'll move to test and adapt the graphic libraries.</div><div><br></div><div><br></div></div></blockquote></div></body></html>