Merge branch 'mainline' into relocator
Conflicts: loader/i386/multiboot.c
This commit is contained in:
commit
5e03640baf
56 changed files with 2847 additions and 4824 deletions
|
@ -1732,6 +1732,52 @@ FUNCTION(grub_vbe_bios_get_mode)
|
|||
popl %ebp
|
||||
ret
|
||||
|
||||
/*
|
||||
* grub_vbe_status_t grub_vbe_bios_getset_dac_palette_width (int set, int *dac_mask_size)
|
||||
*
|
||||
* Register allocations for parameters:
|
||||
* %eax set
|
||||
* %edx *dac_mask_size
|
||||
*/
|
||||
FUNCTION(grub_vbe_bios_getset_dac_palette_width)
|
||||
pushl %ebp
|
||||
pushl %ebx
|
||||
|
||||
xorl %ebx, %ebx
|
||||
|
||||
/* If we only want to fetch the value, set %bl to 1. */
|
||||
testl %eax, %eax
|
||||
jne 1f
|
||||
incb %bl
|
||||
1:
|
||||
|
||||
/* Put desired width in %bh. */
|
||||
movl (%edx), %eax
|
||||
movb %al, %bh
|
||||
|
||||
call prot_to_real
|
||||
.code16
|
||||
|
||||
movw $0x4f08, %ax
|
||||
int $0x10
|
||||
|
||||
movw %ax, %dx /* real_to_prot destroys %eax. */
|
||||
|
||||
DATA32 call real_to_prot
|
||||
.code32
|
||||
|
||||
/* Move result back to *dac_mask_size. */
|
||||
movb %bh, %al
|
||||
movl %eax, (%edx)
|
||||
|
||||
/* Return value in %eax. */
|
||||
xorl %eax, %eax
|
||||
movw %dx, %ax
|
||||
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
ret
|
||||
|
||||
/*
|
||||
* grub_vbe_status_t grub_vbe_bios_set_memory_window (grub_uint32_t window,
|
||||
* grub_uint32_t position);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue