Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
No need for vga io region override.
Don't need kvm to force pci interrupt line on acpi device to 9.
Set the PCI base address to 0xc0000000.
|
|
Rename smpdetect.c to smp.c - the code does more than just cpu detection.
Don't probe cpu count on demand - schedule it during post.
Add logic to run wrmsr on all cpus.
Don't make mtrr setup specific to kvm - do it on all machines that
have mtrr and msrs.
Detect cpu signature/features automatically in mptable.
Also, make sure acpi structures are packed.
|
|
Load option roms from the "vgaroms/" CBFS directory during VGA scan.
|
|
|
|
Make sure %es is set before doing a "rep movs" call.
|
|
|
|
Add ASSERT16/ASSERT32 macros to farptr.h.
Use those macros in place of open-coded checks.
Add "noreturn" attribute to functions to reduce compiler warnings.
Add ASSERT32 to smp_probe() to eliminate 16bit assembler warnings.
|
|
|
|
Enhance build to detect and avoid gcc with broken -fwhole-program
Also, remove workaround for older gcc that mess up global exports.
|
|
Suppress __attribute__((externally_visible)) when no -fwhole-program
Add switch hack for compilers without -fno-jump-tables
Define memcpy() function (for compilers without -minline-all-stringops).
Define call16_simpint as a macro (a param needs to be inlined).
Make sure s3_resume is only defined in 32bit mode.
|
|
Implement -ffunction-sections and -fdata-sections in both 32bit and
16bit code.
Make sure all sections have unique names (even asm and discarded
sections).
Enhance tools/layoutrom.py script to find all sections reachable from
exported 16bit code - prune all other sections.
Mark sections with "export" if they can be visible outside of code -
these sections wont be dropped when pruning unused sections.
|
|
Tighten regex so that pushaw doesn't confuse parser.
|
|
If the IDE primary drive is responding to secondary drive, it's hard
to detect if the secondary drive is really present - skip test.
|
|
Implement wrapper calls in vgaio.c and use them instead.
|
|
Remove remaining "biosfn_" prefixes from functions.
Don't use register names as function parameters.
vgafb_read_pixel should return a value (instead of passing in a pointer)
|
|
Pass pointer to cursor position into write_string and write_teletype.
Handle flag processing of write_string in handle_1013.
Implement a tail-recursive scroll_one() function.
|
|
Make 'struct carattr' 3 bytes in size - gcc does better with this.
Add 'noinline' directives to some funcs to reduce handle_10 stack usage.
|
|
A tab can only scroll the screen once.
Inline the code from check_scroll into write_teletype.
Also, move row check in write_string to handle_1013.
|
|
Introduce memcpy_stride and memset_stride functions.
Simplify the moves and fills using src and dest pointers.
Don't nest for loops - just use one loop for copies.
|
|
Check for nblines==0 in calling function.
Eliminate full screen clearing optimization.
|
|
|
|
Use vmode_g->memmodel instead of memmodel and svgamode.
|
|
Rename biosfn_scroll to vgafb_scroll.
Break function up into per-mode scroll function.
Pass row/col params in a 'struct cursorpos'.
Encode direction as sign in nblines.
Move parameter checking to callers.
Add enhancement to 'attr' for using mode specific default attribute.
Also, make get_cursor_pos local to vga.c.
|
|
|
|
The address of the callers stack can be inferred from the address of
'regs' - do the math in the dump function.
|
|
Make was stripping the relocated 16bit code - keep the unstripped
16bit code so that checkstack can parse it.
|
|
Call set_cursor_pos in callers that need it.
|
|
|
|
Pass cursor position into vgafb_write_char and vgafb_read_char.
Don't pass count into vgafb_write_char.
Break text writing into separate function.
|
|
|
|
The three parameters are used frequently together - define a struct to
hold them.
Alos, merge biosfn_write_char_attr/_only into one function.
|
|
These three values are frequently used together - put them in a struct
and pass the struct around.
|
|
|
|
The functions font loading functions are nearly identical - replace
with one common function.
|
|
Create vgahw_set_mode() that handles low-level vga setup in vgaio.c.
Move screen clearing to new function in vgafb.c.
|
|
|
|
Move some functions directly into their only caller.
Also, fix bug in handle_101210 - don't set ax.
|
|
Add ndelay(400) when changing drives.
|
|
Use linking magic to eliminate the need for the _code32_ prefix.
|
|
Locate 16bit code into the top of the f-segment. (Before some of the
16bit code was located just after the 32bit code.)
|
|
Define C structs for the state info.
Move hw specific code to vgahw.c.
Also, make sure to set 0x1c in regs->al on state save/restore calls.
|
|
Move more hardware port accesses to vgaio.c.
|
|
Move the bios interface control to vga.c.
Also, replace "biosfn_" prefix with "vgahw_".
|
|
|
|
Move hardware IO accessor functions to vgaio.c.
Move framebuffer and font manipulation code to vgafb.c.
Also, have biosfn_write_teletype use biosfn_write_char_attr/only.
Also, breakout set_scan_lines() functionality from biosfn_load_text_X.
|
|
The total dac size is stored - not the number of entries.
|
|
|
|
|
|
Save/restore %ebp on irq entry.
Support saving and restoring %ebp on call16.
Enable display of %ebp in register dumps.
|