====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2010:peper:journal:week10 [2010/07/26 16:40]
peper
soc:2010:peper:journal:week10 [2010/07/31 15:13] (current)
peper
Line 34: Line 34:
      * allocate the same amount of memory as for A from UIO-DMA - let's call the new chunk B      * allocate the same amount of memory as for A from UIO-DMA - let's call the new chunk B
      * copy A over to B      * copy A over to B
-     * munmap() A+     * munmap() A (this isn't really needed as mremap() can take care of that)
      * mremap() B to the now free location of A      * mremap() B to the now free location of A
  
 I like the last option most cause it uses the current malloc() implementation,​ works for tap and doesn'​t feel so hackish (just sophisticated ;). I am going to implement that soonish unless other ideas arise. I like the last option most cause it uses the current malloc() implementation,​ works for tap and doesn'​t feel so hackish (just sophisticated ;). I am going to implement that soonish unless other ideas arise.
  
-=== smaller ​issues ===+== Update ​=
 + 
 +"​Sophisticated"​ didn't really work for Josh, but I have come up with something different. I have introduced separate memery pools for normal and DMA memory allocation with an API for switching the latter. 
 +See [[http://​git.etherboot.org/?​p=people/​peper/​gpxe.git&​a=search&​h=refs/​heads/​drivers&​st=commit&​s=[malloc]+Introduce+memory+pools+and+hide+internal+API|[malloc] Introduce memory pools and hide internal API]] 
 + 
 +=== Smaller ​issues ===
  
   * currently ''​gpxe.linux''​ binary doesn'​t contain the ''​tap''​ driver - easily fixable   * currently ''​gpxe.linux''​ binary doesn'​t contain the ''​tap''​ driver - easily fixable
-  * out/in* segfault in userspace if ''​iopl()''​ wasn't called - will probably have to check whether the ioports ​where initialized on each call+  * out/in* segfault in userspace if ''​iopl()''​ wasn't called - will probably have to check whether the ioports ​were initialized on each call 
 + 
 +== Update == 
 + 
 +These have been fixed. Moreover, slighty related to the first one, I have come up with a [[http://​git.etherboot.org/?​p=people/​peper/​gpxe.git;​a=shortlog;​h=refs/​heads/​buildall|buildall branch]], 
 + which allows building alldrivers builds on all supported arch/​platform combinations and also adds a everything target that takes advantage of that and builds everything that I could think of. Should come in handy for testing patches. 
 +The changes are mostly trivial, but if you want to refresh your make-foo have a look at [[http://​git.etherboot.org/?​p=people/​peper/​gpxe.git&​a=search&​h=refs/​heads/​buildall&​st=commit&​s=[build]+Properly+handle+multiple+goals+per+BIN+directory|[build] Properly handle multiple goals per BIN directory]].  
 + 
 + 
 +=== Update === 
 + 
 +I have updated pretty much every commit in the [[http://​git.etherboot.org/?​p=people/​peper/​gpxe.git;​a=shortlog;​h=refs/​heads/​drivers|drivers branch]], adding comments and doing cleanup. 

QR Code
QR Code soc:2010:peper:journal:week10 (generated for current page)