User talk:MrNuke: Difference between revisions

From coreboot
Jump to navigation Jump to search
No edit summary
 
(58 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Ideas for generic handling of devices ==
== Sections deserving their own page ==
* [[User_talk:MrNuke/Block_Device_API | IDEAPAGE: Generic handling of storage devices]]
* [[User_talk:MrNuke/CBFS_Ideas | IDEAPAGE: CBFS partitioning support]]


Chan is an IO channel.
== Testing ARM coreboot under qemu-system-arm ==


This struct is used in Inferno and has been for a long time; so it works.  
Launch qemu with '''-serial stdio''' and pass kernel the '''console=tty''' option. (UNTESTED).
It's also in the opcodes somewhat like what we did for EMMC on ARM.


 
Run qemu-arm:
struct Dev
'''$ qemu-system-arm -M vexpress-a9 -m 1024M -serial stdio -kernel build/coreboot.rom'''
{
char* name;
 
void (*reset)(void);
 
void (*init)(void);
 
void (*shutdown)(void);
 
Chan* (*attach)(char*); /* tell the device you want to use it */
 
Walkqid* (*walk)(Chan*, Chan*, char**, int); /* walk to a name in the device's managed name space; return a handle */
 
int (*stat)(Chan*, uchar*, int); // status info
 
Chan* (*open)(Chan*, int); /* get access to a resource in the device name space */
 
void (*close)(Chan*); /* tell it you are done with whatever it is. */
 
long (*read)(Chan*, void*, long, vlong);
 
long (*write)(Chan*, void*, long, vlong);
 
void (*power)(int); /* power mgt: power(1) ? on, power (0) ? off */
 
};

Latest revision as of 19:55, 6 February 2014

Sections deserving their own page

Testing ARM coreboot under qemu-system-arm

Launch qemu with -serial stdio and pass kernel the console=tty option. (UNTESTED).

Run qemu-arm:

$ qemu-system-arm -M vexpress-a9 -m 1024M -serial stdio -kernel build/coreboot.rom