- Status Closed
- Percent Complete
- Task Type Patches
- Category Operating System/Drivers
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version Daily build (which?)
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
Opened by dreamlayers - 2011-11-27
Last edited by dreamlayers - 2011-11-29
FS#12412 - Remove firmware/buffer.c, move needed functionality to core_alloc.c
Now that core_alloc is used, firmware/buffer.c is almost entirely obsolete. It’s only used by core_allocator_init() to tell buflib_init() what memory to use for core_ctx. The contents of the associated header file, firmware/include/buffer.h, are also not needed. It’s included by several files, but that’s easy to remove. I’m attaching a patch for r31079.
There are currently no other allocations via buffer.c, and allocations could overlap with core_alloc allocations. That’s because core_allocator_init() does the following:
void *start = buffer_get_buffer(&size);
buflib_init(&core_ctx, start, size);
buffer_release_buffer(size);
It tells buflib to use the memory and then releases the same memory so allocations via buffer.c can also use it. Yes, one could just remove buffer_release_buffer(size), but what’s the point of an allocator which will just call panicf()?
Basically, the benefits are: removing unused code, removing an opportunity for errors, and a simpler future implementation of FS#12403 (when putting .init at the start of the buffer, as kugel suggests).
Note that when files are deleted, you need to rerun “make dep”, or else you’ll get a “make: *** No rule to make target” error.
2011-11-29 01:09
Reason for closing: Accepted
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
Committed in r31088
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
Looks good.