Thread (10 messages) 10 messages, 4 authors, 2004-10-27

Re: [Linux-fbdev-devel] Re: Generic VESA framebuffer driver and Video card BOOT?

From: Kendall Bennett <hidden>
Date: 2004-10-27 01:58:22
Also in: lkml

Possibly related (same subject, not in this thread)

Paulo Marques [off-list ref] wrote:
Well, I played with the emulator last night to see if I could
reduce the code size, so that it would be easier to make it to the
official kernel. 

I only took ops.c and did some transformations, like using a
single function to make several operations based on the opcode,
instead of a separate function for each opcode, etc.[1] 

This is the result. Before:

Size of stripped libx86emu.a: ~74kb
ops.c source code lines: 11682
ops.o .text size: 36136
ops.o .data: 1312

After:

Size of stripped libx86emu.a: ~57kb
ops.c source code lines: 5908
ops.o .text size: 19320
ops.o .data: 1280

If the same treatment is applied to ops2.c and prim_ops.c, I
believe it would be possible to have a functional emulator for
about 32kb of kernel code size, which seems pretty reasonable to
me and could solve a lot of problems. 
Wow, that is great!
The decrease in source code size also helps maintenance, since
there is not so much repeated code has it was before. 

Of course, these changes are optimizing the emulator for code
size, and not execution speed. I haven't done any benchmarks to
see if there is a noticeable difference in speed. 
Did you get the latest code? I have been sick with the flu and I think I 
forgot to send you the latest code to play with. We should get you set up 
so you can merge your changes into our tree and then we can update the 
one in the X.org tree as well (Egbert Eich usually does that from our 
tree).

Regards,

---
Kendall Bennett
Chief Executive Officer
SciTech Software, Inc.
Phone: (530) 894 8400
http://www.scitechsoft.com

~ SciTech SNAP - The future of device driver technology! ~
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help