path: root/com32
Commit message (Collapse)AuthorAgeFilesLines
* Prevent inclusion of system include files when inappropriateH. Peter Anvin2008-03-038-12/+28
| | | | | Use "-nostdinc -iwithprefix include" to prevent the inclusion of system header files, but still permitting *compiler* header files.
* simple menu: break off execute() into its own source fileH. Peter Anvin2008-03-024-56/+74
| | | | | Break off execute() into its own source file, with the intent of being able to re-use it for a CLI module.
* License change for CPU detection modulesErwan2008-03-026-36/+132
| | | | | | | | | | | H. Peter Anvin wrote: > Erwan: I would have to get you to do this, since it would mean > changing the license (trying to keep libcom32 under the BSD/MIT > licenses), and you have them under your own copyright (as opposed to > mine), which means I can't do this change. Please find attached the patch to changing the license to MIT on modules I did contribute in com32/modules/.
* Move mboot documentation to the doc/ directoryH. Peter Anvin2008-03-011-26/+0
* Allow MENU EXIT to specify a menu tagsyslinux-3.62-pre15H. Peter Anvin2008-02-222-4/+17
| | | | | Allow MENU EXIT to "exit" to an arbitrary menu. This is really just a variant of "MENU GOTO", but it allows displaying an exit marker.
* Fix the handling of hotkeys in MENU LABEL on submenussyslinux-3.62-pre14H. Peter Anvin2008-02-223-26/+59
| | | | | | | | | | | | Two bugs: - We didn't strip ^ symbols inheriting from MENU LABEL to MENU TITLE - We did consider_for_hotkey() with the wrong menu (the submenu itself, as opposed to the parent menu.) As part of these changes, make a function available to create an uninitialized, mutable refstring (that can be constructed and then used as a refstring, that is.)
* realloc(): try to protect a block in the path of a growing objectsyslinux-3.62-pre13H. Peter Anvin2008-02-211-4/+15
| | | | | | When we realloc() a block larger, try to protect the free block following it from being immediately allocated by something else by placing it at the end of the freelist instead of the beginning.
* realloc(): better implementation allowing in-place growthH. Peter Anvin2008-02-211-17/+55
| | | | | | Change the realloc() implementation to allow in-place growth. This is an important step in handling files without knowing their sizes a priori.
* Fix MENU TITLE -> MENU LABEL inheritancesyslinux-3.62-pre12H. Peter Anvin2008-02-191-5/+5
| | | | | Correctly make it so MENU TITLE can be inherited upward as MENU TITLE unless one is provided.
* Make sure color directives get attached to the proper menu.H. Peter Anvin2008-02-194-4/+5
| | | | | Color directives would always end up attached to the root menu, no matter what menu declaration they where actually located in.
* simple menu: fix the handling of '+' and '-' given disabled entriesH. Peter Anvin2008-02-191-4/+8
| | | | | When encountering disabled entries, we want to keep going. Given that these particular keys have nonstandard scrolling, but the handling there.
* Fix the scrollbar handling for insanely huge menusH. Peter Anvin2008-02-191-3/+2
| | | | | The handling of the scrollbar for insanely huge menus was broken, causing it to disappear off the bottom of the menu window.
* simple menu: remember the cursor position on a per-menu basisH. Peter Anvin2008-02-193-6/+16
| | | | | For each menu, remember what the current position of the cursor and the scroll is.
* Add support for MENU EXIT; no marker for MENU GOTOH. Peter Anvin2008-02-193-4/+31
* When entering a new menu, go to the default entry for that menu.H. Peter Anvin2008-02-191-1/+2
* Whitespace cleanup...syslinux-3.62-pre11H. Peter Anvin2008-02-1915-43/+39
* com32: remove dependency files for "make tidy"H. Peter Anvin2008-02-193-6/+6
* Add dependency generation for com32 samples.H. Peter Anvin2008-02-191-2/+7
* Add dependency generation for com32 modules.H. Peter Anvin2008-02-191-2/+7
* Add dependency generation for the simple menu systemH. Peter Anvin2008-02-191-2/+7
* Set m->title for both root and submenusH. Peter Anvin2008-02-191-1/+1
* Allow MENU LABEL <-> MENU TITLE for submenus to work both waysH. Peter Anvin2008-02-193-8/+16
| | | | Allow either "MENU LABEL" or "MENU TITLE" to default for each other.
* Allow an included file to be treated as a submenu.H. Peter Anvin2008-02-191-4/+18
* simple menu: The use of realloc() requires indirect pointersH. Peter Anvin2008-02-193-29/+37
| | | | | | Since we store pointers to struct menu_entry, we can't put it in storage that is subject to realloc(). Accordingly, make menu_entries an indirect array instead.
* simple menu: first cut at working submenusH. Peter Anvin2008-02-193-83/+206
| | | | | With this edit, the submenu system seems to have minimal functionality.
* refstr: handle NULL in refstr[n]dup()H. Peter Anvin2008-02-191-0/+6
* Simple menu: use refstrings consistently; now works againH. Peter Anvin2008-02-193-113/+117
| | | | | Switch consistently to using refstrings; we now seem to have original functionality back.
* refstr_get(): handle NULL, force inlineH. Peter Anvin2008-02-191-3/+4
| | | | | Make refstr_get() handle NULL correctly; force it to be an inline since it seems to make no difference for code size.
* [v]rsprintf(): actually set the return pointer...H. Peter Anvin2008-02-191-0/+1
* submenu snapshot: it compiles now...H. Peter Anvin2008-02-199-339/+465
* Actually implement strnlen()H. Peter Anvin2008-02-192-0/+14
| | | | | Actually implement strnlen(), which was in the header files but not in the library.
* Actually implement syslinux_ipappend_strings()H. Peter Anvin2008-02-192-0/+59
| | | | | Actually implement the library function syslinux_ipappend_strings(), which had been in the header files but not in the actual library.
* Submenu support: development snapshotH. Peter Anvin2008-02-196-185/+345
| | | | Development snapshot before converting to refstrings
* VESA: work around bug in the Bochs VESA BIOSsyslinux-3.62-pre10H. Peter Anvin2008-02-162-5/+15
| | | | | | | The Bochs VESA BIOS returns a value other than 1 for the number of banks in unbanked modes. Ignore the number of banks if bank_size == 0 (the spec says that for unbanked modes, banks == 1 && bank_size == 0; for banked modes banks > 1 and bank_size != 0).
* Get rid of 4096-entry limit in the simple menu systemsyslinux-3.62-pre8H. Peter Anvin2008-02-162-10/+34
| | | | | | Use a dynamic array instead of a static array which we would simply crash on overflow. Always make it a power-of-two sized so we don't end up doing a realloc() and a full array copy on every extend.
* If we're showing a scrollbar, always show at least one unitH. Peter Anvin2008-02-161-1/+1
| | | | | In the simple menu system, if we're showing a scrollbar at all, always show at least one unit of it.
* hello.c: print arguments, no input sectionH. Peter Anvin2008-02-151-9/+4
| | | | | Make "Hello, World!" a little bit more plain, but do print out its arguments, if any. Useful for testing.
* VESA: suppress an unused arguments warningH. Peter Anvin2008-02-141-0/+1
| | | | Suppress a warning about unused arguments.
* VESA: align the row buffer to a multiple of 4 bytes.H. Peter Anvin2008-02-141-1/+1
| | | | We do dword accesses to the row buffer, so align it to 4 bytes.
* Add __aligned() and __alignas() macrosH. Peter Anvin2008-02-141-0/+4
| | | | | Add macros __aligned() (which takes a byte count), and __alignas() (which takes a type or expression whose type is used, same as sizeof).
* VESA: Minor cleanupssyslinux-3.62-pre6H. Peter Anvin2008-02-132-9/+12
| | | | Minor cleanups for clarity
* VESA: move debugging code to separate header fileH. Peter Anvin2008-02-132-25/+38
| | | | | Move the debugging function to a separate header file, so we can include it at will when convenient.
* Set the window size to 2 GB for linear framebufferH. Peter Anvin2008-02-131-1/+5
| | | | | | | | | Set the window size to 2 GB for linear framebuffer, lest the calculation: l = min(bytes, win_size-win_off); ... incorrectly returns zero when win_off == 0.
* Bypass pixel conversion when the output format is BGRA32H. Peter Anvin2008-02-133-21/+21
| | | | | When the output format is BGRA32, we don't need any conversion at all. Skip the dummy copy.
* Treat linear framebuffer as a degenerate paged framebufferH. Peter Anvin2008-02-134-43/+35
| | | | | | Simplify the code by treating linear framebuffer as a degenerate case of a paged framebuffer (a single window covering all of memory, which is already in position 0 - the only possible position.)
* VESA: move pixel formatting into __vesacon_copy_to_screen()syslinux-3.62-pre5H. Peter Anvin2008-02-137-70/+85
| | | | | | | | Make pixel formatting an integral part of __vesacon_copy_to_screen(). In order to cut down on the dispatch overhead, make the formatting functions contain the pixel loop, so we only do indirect dispatch twice per pixel row - once for the formatting and once for copying to the screen.
* Fix the calculation of bytes_per_pixelH. Peter Anvin2008-02-132-16/+1
| | | | | Handle cases where __vesa_info.mi.bpp is not a multiple of 8, e.g. 15. Remove totally redundant switch statement in vesacon_update_characters().
* Replace C version of memmove() with slightly optimized assemblyH. Peter Anvin2008-02-132-34/+79
| | | | | Replace the C version of memmove() with a slightly more optimized assembly version that at least can do dword-sized rep moves.
* VESA: Support 15-bit RGB modes.H. Peter Anvin2008-02-133-0/+18
| | | | | If there are manufacturers which don't support linear framebuffers out there, then there is probably someone who want a 15-bit mode, too.
* Add support for paged (banked) VESA video modeH. Peter Anvin2008-02-136-14/+162
| | | | | | | Add support for paged ("banked", non-linear-framebuffer) VESA video modes. Apparently some manufacturers haven't caught on that non-linear graphics modes have been obsolete for 15 years or so already.