Code Monkey home page Code Monkey logo

ghostbirdos's Issues

loader下的boot里的Makefile不能自动依赖了

在以往的测试中,我们发现GNU GCC的ld工具有一个特点:链接时目标文件的顺序影响了各个文件中的section部分在生成文件中的位置,即使在使用-e参数指定入口地址的情况下。我们通常的做法,是将_start写在一个文件的最前面,这个文件在ld命令的最前面,例如/loader/boot/boota.asm:
image

该文件生成的.o文件在Makefile中ld命令下的排序:
$(LD) $(LDFLAGS) -o $@ -Ttext 0x11000 $(OBJS),而OBJS为
OBJS := ./boota.o ./MMU.o ./bootc.o ./VI.o ./fs.o ./storage.o \ ./lib/string.o ./lib/font.o ./lib/vsprintf.o ./lib/mem.o

这种做法是可行的。但在kernel和gfr都用上了自动寻找源代码文件的今天,我们也需要在boot中使用上这一功能,但自动寻找源代码是不能保证boota.asm这样带有_start入口的汇编文件所对应的boota.o排在OBJS里的首位,因此loader的setup部分就无法跳转到boot部分的入口,引导程序就失败了。

Loader中的VI性能问题

一般来说,在Loader中我们不用频繁且大量的信息输出。但有些时候,当有大量信息需要频繁刷新的时候,效率总是那么不尽如人意。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.