mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
Avoid a lot of malloc/free traffic
Each console write caused temporary buffer allocation. Avoid allocations by changing console_draw_str() to use Forth string parameters, which are usually readily available. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@872 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
@@ -35,16 +35,10 @@ stdout_write( void )
|
||||
{
|
||||
int len = POP();
|
||||
char *addr = (char*)POP();
|
||||
char *s = malloc( len + 1 );
|
||||
|
||||
strncpy_nopad( s, addr, len );
|
||||
s[len]=0;
|
||||
|
||||
printk( "%s", s );
|
||||
//vfd_draw_str( s );
|
||||
console_draw_str( s );
|
||||
|
||||
free( s );
|
||||
console_draw_fstr(addr, len);
|
||||
|
||||
PUSH( len );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user