Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup: [x86 setup] EDD: Fix the computation of the MBR sector buffer [x86 setup] Newline after setup signature failure message x86 boot code comments typos
This commit is contained in:
commit
8ddf83fed6
|
@ -2,7 +2,7 @@
|
|||
* code16gcc.h
|
||||
*
|
||||
* This file is -include'd when compiling 16-bit C code.
|
||||
* Note: this asm() needs to be emitted before gcc omits any code.
|
||||
* Note: this asm() needs to be emitted before gcc emits any code.
|
||||
* Depending on gcc version, this requires -fno-unit-at-a-time or
|
||||
* -fno-toplevel-reorder.
|
||||
*
|
||||
|
|
|
@ -72,17 +72,18 @@ static u32 read_mbr_sig(u8 devno, struct edd_info *ei)
|
|||
u32 mbrsig;
|
||||
u32 buf_base, mbr_base;
|
||||
extern char _end[];
|
||||
static char mbr_buf[1024];
|
||||
|
||||
sector_size = ei->params.bytes_per_sector;
|
||||
if (!sector_size)
|
||||
sector_size = 512; /* Best available guess */
|
||||
|
||||
/* Produce a naturally aligned buffer on the heap */
|
||||
buf_base = (ds() << 4) + (u32)&_end;
|
||||
mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
|
||||
mbrbuf_ptr = mbr_buf + (mbr_base-buf_base);
|
||||
mbrbuf_ptr = _end + (mbr_base-buf_base);
|
||||
mbrbuf_end = mbrbuf_ptr + sector_size;
|
||||
|
||||
/* Make sure we actually have space on the heap... */
|
||||
if (!(boot_params.hdr.loadflags & CAN_USE_HEAP))
|
||||
return 0;
|
||||
if (mbrbuf_end > (char *)(size_t)boot_params.hdr.heap_end_ptr)
|
||||
|
|
|
@ -225,7 +225,7 @@ start_of_setup:
|
|||
int $0x13
|
||||
#endif
|
||||
|
||||
# We will have entired with %cs = %ds+0x20, normalize %cs so
|
||||
# We will have entered with %cs = %ds+0x20, normalize %cs so
|
||||
# it is on par with the other segments.
|
||||
pushw %ds
|
||||
pushw $setup2
|
||||
|
@ -280,4 +280,4 @@ die:
|
|||
.section ".initdata", "a"
|
||||
setup_corrupt:
|
||||
.byte 7
|
||||
.string "No setup signature found..."
|
||||
.string "No setup signature found...\n"
|
||||
|
|
|
@ -80,7 +80,7 @@ static void move_kernel_around(void)
|
|||
*/
|
||||
static void mask_all_interrupts(void)
|
||||
{
|
||||
outb(0xff, 0xa1); /* Mask all interrupts on the seconday PIC */
|
||||
outb(0xff, 0xa1); /* Mask all interrupts on the secondary PIC */
|
||||
io_delay();
|
||||
outb(0xfb, 0x21); /* Mask all but cascade on the primary PIC */
|
||||
io_delay();
|
||||
|
|
|
@ -44,7 +44,7 @@ static int set_bios_mode(u8 mode)
|
|||
: "+a" (ax)
|
||||
: : "ebx", "ecx", "edx", "esi", "edi");
|
||||
|
||||
do_restore = 1; /* Assume video contents was lost */
|
||||
do_restore = 1; /* Assume video contents were lost */
|
||||
new_mode = ax & 0x7f; /* Not all BIOSes are clean with the top bit */
|
||||
|
||||
if (new_mode == mode)
|
||||
|
|
Loading…
Reference in a new issue