|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Writing C program on Stubdom
Hi, list!
Currently I am trying to write C programs on Stubdom. In my understanding, the c-stubdom is trying to show us that we can just write standard C programs, linking it to mini-os,(with the APP_OBJS points to the appropriate obj files), then we can run the program as a separate Xen Domain, am I right?
I successfully compiled the c-stubdom ( by "make c-stubdom" in XEN_ROOT/stubdom ), and i got the mini-os.gz. Does it mean that i can use it as a kernel to create a new domain, and what it would do is simply out put "hello wolrd" then hangs up? But i get the VMWare crash when i tried to do this. ( Yes, i deployed XEN 3.3 in VMware).
On the other hand, to find out how stubdom links applications (such ioemu, grub) with MiniOS, I examined the Makefile in XEN_ROOT/stubdom, I noticed that it is achieved by passing "APP_OBJ= target objects" to the make command of miniOS. In the Makefile of MiniOS, I found the following scripts:
$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds $(LD) -r -d $(LDFLAGS) -\( $^ -\) $(APP_LDLIBS) --undefined main -o $@
Is the purpose of this scrpits to adjust the APP_OBJS according to app.lds, so it can be linked to MiniOS?
then:
$(OBJ_DIR)/$(TARGET): links $(OBJS) $(OBJ_DIR)/$(TARGET)_app.o arch_lib
$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJ_DIR)/$(TARGET)_app.o $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o $(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
Above scripts replaces the "__attribute__((weak)) int app_main(start_info_t *si)" within XEN_ROOT/Extra/Mini-os/Kernel.c with the adjusted APP_OBJS?
Thanks! -- Regards! Ryan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Writing C program on Stubdom,
阮安邦 <=
|
|
|
|
|