diff mbox

[U-Boot,12/17] CHECKPATCH: arch/x86/lib/*

Message ID 1325477374-6417-13-git-send-email-graeme.russ@gmail.com
State Superseded
Headers show

Commit Message

Graeme Russ Jan. 2, 2012, 4:09 a.m. UTC
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
---
 arch/x86/lib/bios.S            |  134 +++++++++++++++++++++++++--------------
 arch/x86/lib/realmode_switch.S |   61 +++++++++++--------
 2 files changed, 122 insertions(+), 73 deletions(-)

Comments

Simon Glass Jan. 4, 2012, 5:47 a.m. UTC | #1
Hi Graeme,

On Sun, Jan 1, 2012 at 8:09 PM, Graeme Russ <graeme.russ@gmail.com> wrote:
>
> Signed-off-by: Graeme Russ <graeme.russ@gmail.com>

Acked-by: Simon Glass <sjg@chromium.org>

Thanks for the x86 assembler lesson :-)

Regards,
Simon

> ---
>  arch/x86/lib/bios.S            |  134 +++++++++++++++++++++++++--------------
>  arch/x86/lib/realmode_switch.S |   61 +++++++++++--------
>  2 files changed, 122 insertions(+), 73 deletions(-)
>
> diff --git a/arch/x86/lib/bios.S b/arch/x86/lib/bios.S
> index ce8deb5..239aaa9 100644
> --- a/arch/x86/lib/bios.S
> +++ b/arch/x86/lib/bios.S
> @@ -246,11 +246,9 @@ rm_int1f:
>  rm_def_int:
>        iret
>
> -
>        /*
> -        * All interrupt jumptable entries jump to here
> -        * after pushing the interrupt vector number onto the
> -        * stack.
> +        * All interrupt jumptable entries jump to here after pushing the
> +        * interrupt vector number onto the stack.
>         */
>  any_interrupt16:
>        MAKE_BIOS_STACK
> @@ -272,7 +270,8 @@ gs  movw    OFFS_VECTOR(%bp), %ax
>        je      Lint_1ah
>        movw    $0xffff, %ax
>        jmp     Lout
> -Lint_10h:                                      /* VGA BIOS services */
> +Lint_10h:
> +       /* VGA BIOS services */
>        call    bios_10h
>        jmp     Lout
>  Lint_11h:
> @@ -281,35 +280,42 @@ Lint_11h:
>  Lint_12h:
>        call    bios_12h
>        jmp     Lout
> -Lint_13h:                                      /* BIOS disk services */
> +Lint_13h:
> +       /* BIOS disk services */
>        call    bios_13h
>        jmp     Lout
> -Lint_15h:                                      /* Misc. BIOS services */
> +Lint_15h:
> +       /* Misc. BIOS services */
>        call    bios_15h
>        jmp     Lout
> -Lint_16h:                                      /* keyboard services */
> +Lint_16h:
> +       /* keyboard services */
>        call    bios_16h
>        jmp     Lout
> -Lint_1ah:                                      /* PCI bios */
> +Lint_1ah:
> +       /* PCI bios */
>        call    bios_1ah
>        jmp     Lout
>  Lout:
>        cmpw    $0, %ax
>        je      Lhandeled
>
> -       /* Insert code for unhandeled INTs here.
> +       /*
> +        * Insert code for unhandeled INTs here.
>         *
> -        * ROLO prints a message to the console
> -        * (we could do that but then we're in 16bit mode
> -        * so we'll have to get back into 32bit mode
> -        * to use the console I/O routines (if we do this
> -        * we shuls make int 0x10 and int 0x16 work as well))
> +        * ROLO prints a message to the console we could do that but then
> +        * we're in 16bit mode so we'll have to get back into 32bit mode
> +        * to use the console I/O routines (if we do this we should make
> +        * int 0x10 and int 0x16 work as well)
>         */
>  Lhandeled:
>        RESTORE_CALLERS_STACK
> -       addw    $2,%sp                          /* dump vector number */
> -       iret                                    /* return from interrupt */
>
> +       /* dump vector number */
> +       addw    $2,%sp
> +
> +       /* return from interrupt */
> +       iret
>
>  /*
>  ************************************************************
> @@ -327,22 +333,24 @@ gs        movw    OFFS_AX(%bp), %ax
>        je      Lvid_cfg
>        movw    $0xffff, %ax
>        ret
> -Lcur_pos:                                      /* Read Cursor Position and Size */
> +Lcur_pos:
> +       /* Read Cursor Position and Size */
>  gs     movw    $0, OFFS_CX(%bp)
>  gs     movw    $0, OFFS_DX(%bp)
>        xorw    %ax, %ax
>        ret
> -Lvid_state:                                    /* Get Video State */
> -gs     movw    $(80 << 8|0x03), OFFS_AX(%bp)   /* 80 columns, 80x25, 16 colors */
> +Lvid_state:
> +       /* Get Video State - 80 columns, 80x25, 16 colors */
> +gs     movw    $(80 << 8|0x03), OFFS_AX(%bp)
>  gs     movw    $0, OFFS_BX(%bp)
>        xorw    %ax, %ax
>        ret
> -Lvid_cfg:      /* Video Subsystem Configuration (EGA/VGA) */
> -gs     movw    $0x10, OFFS_BX(%bp)             /* indicate CGA/MDA/HGA */
> +Lvid_cfg:
> +       /* Video Subsystem Configuration (EGA/VGA) - indicate CGA/MDA/HGA */
> +gs     movw    $0x10, OFFS_BX(%bp)
>        xorw    %ax, %ax
>        ret
>
> -
>  /*
>  ************************************************************
>  * BIOS interrupt 11h -- Equipment determination
> @@ -355,7 +363,6 @@ gs  movw    %ax, OFFS_AX(%bp)
>        xorw    %ax, %ax
>        ret
>
> -
>  /*
>  ************************************************************
>  * BIOS        interrupt 12h -- Get Memory Size
> @@ -370,16 +377,18 @@ cs        movw    ram_in_64kb_chunks, %ax
>  b12_more_than_640k:
>        movw    $0x280, %ax
>  b12_return:
> -gs     movw    %ax, OFFS_AX(%bp)               /* return number of kilobytes in ax */
> +       /* return number of kilobytes in ax */
> +gs     movw    %ax, OFFS_AX(%bp)
>
>  gs     movw    OFFS_FLAGS(%bp), %ax
> -       andw    $0xfffe, %ax                    /* clear carry -- function succeeded */
> +
> +       /* clear carry -- function succeeded */
> +       andw    $0xfffe, %ax
>  gs     movw    %ax, OFFS_FLAGS(%bp)
>
>        xorw    %ax, %ax
>        ret
>
> -
>  /*
>  ************************************************************
>  * BIOS interrupt 13h -- Disk services
> @@ -394,12 +403,13 @@ gs        movw    OFFS_AX(%bp), %ax
>        ret
>  Lfunc_15h:
>  gs     movw    OFFS_AX(%bp), %ax
> -       andw    $0xff, %ax                      /* return AH=0->drive not present */
> +
> +       /* return AH=0->drive not present */
> +       andw    $0x00ff, %ax
>  gs     movw    %ax, OFFS_AX(%bp)
>        xorw    %ax, %ax
>        ret
>
> -
>  /*
>  ***********************************************************
>  * BIOS interrupt 15h -- Miscellaneous services
> @@ -417,9 +427,12 @@ gs movw    OFFS_AX(%bp), %ax
>        movw    $0xffff, %ax
>        ret
>
> -Lfunc_c0h:                                     /* Return System Configuration Parameters (PS2 only) */
> +Lfunc_c0h:
> +       /* Return System Configuration Parameters (PS2 only) */
>  gs     movw    OFFS_FLAGS(%bp), %ax
> -       orw     $1, %ax                         /* return carry -- function not supported */
> +
> +       /* return carry -- function not supported */
> +       orw     $1, %ax
>  gs     movw    %ax, OFFS_FLAGS(%bp)
>        xorw    %ax, %ax
>        ret
> @@ -430,38 +443,56 @@ gs        movw    OFFS_AX(%bp), %ax
>        cmpw    $1, %ax
>        je      Lfunc_e801h
>  gs     movw    OFFS_FLAGS(%bp), %ax
> -       orw     $1, %ax                         /* return carry -- function not supported */
> +
> +       /* return carry -- function not supported */
> +       orw     $1, %ax
>  gs     movw    %ax, OFFS_FLAGS(%bp)
>        xorw    %ax, %ax
>        ret
>
> -Lfunc_e801h:                                   /* Get memory size for >64M Configurations */
> +Lfunc_e801h:
> +       /* Get memory size for >64M Configurations */
>  cs     movw    ram_in_64kb_chunks, %ax
>        cmpw    $0x100, %ax
>        ja      e801_more_than_16mb
> -       shlw    $6, %ax                         /* multiply by 64 */
> -       subw    $0x400, %ax                     /* 1st meg does not count */
>
> -gs     movw    %ax, OFFS_AX(%bp)               /* return memory size between 1M and 16M in 1kb chunks in AX and CX */
> +       /* multiply by 64 */
> +       shlw    $6, %ax
> +
> +       /* 1st meg does not count */
> +       subw    $0x400, %ax
> +
> +       /* return memory size between 1M and 16M in 1kb chunks in AX and CX */
> +gs     movw    %ax, OFFS_AX(%bp)
>  gs     movw    %ax, OFFS_CX(%bp)
> -gs     movw    $0, OFFS_BX(%bp)                /* set BX and DX to 0*/
> +
> +       /* set BX and DX to 0*/
> +gs     movw    $0, OFFS_BX(%bp)
>  gs     movw    $0, OFFS_DX(%bp)
>  gs     movw    OFFS_FLAGS(%bp), %ax
> -       andw    $0xfffe, %ax                    /* clear carry -- function succeeded */
> +
> +       /* clear carry -- function succeeded */
> +       andw    $0xfffe, %ax
>  gs     movw    %ax, OFFS_FLAGS(%bp)
>        xorw    %ax, %ax
>        ret
>
>  e801_more_than_16mb:
> -       subw    $0x100, %ax                     /* subtract 16MB */
> +       /* subtract 16MB */
> +       subw    $0x100, %ax
>
> -gs     movw    $0x3c00, OFFS_AX(%bp)           /* return 0x3c00 (16MB-1MB) in AX and CX */
> +       /* return 0x3c00 (16MB-1MB) in AX and CX */
> +gs     movw    $0x3c00, OFFS_AX(%bp)
>  gs     movw    $0x3c00, OFFS_CX(%bp)
> -gs     movw    %ax, OFFS_BX(%bp)               /* set BX and DX to number of 64kb chunks above 16MB */
> +
> +       /* set BX and DX to number of 64kb chunks above 16MB */
> +gs     movw    %ax, OFFS_BX(%bp)
>  gs     movw    %ax, OFFS_DX(%bp)
>
>  gs     movw    OFFS_FLAGS(%bp), %ax
> -       andw    $0xfffe, %ax                    /* clear carry -- function succeeded */
> +
> +       /* clear carry -- function succeeded */
> +       andw    $0xfffe, %ax
>  gs     movw    %ax, OFFS_FLAGS(%bp)
>        xorw    %ax, %ax
>        ret
> @@ -473,18 +504,22 @@ cs        movw    ram_in_64kb_chunks, %ax
>        movw    $0x100, %ax
>  b88_not_more_than16:
>        shlw    $6, %ax
> -       subw    $0x400, %ax                     /* 1st meg does not count */
>
> -gs     movw    %ax, OFFS_AX(%bp)               /* return number of kilobytes between 16MB and 16MB in ax */
> +       /* 1st meg does not count */
> +       subw    $0x400, %ax
> +
> +       /* return number of kilobytes between 16MB and 16MB in ax */
> +gs     movw    %ax, OFFS_AX(%bp)
>
>  gs     movw    OFFS_FLAGS(%bp), %ax
> -       andw    $0xfffe, %ax                    /* clear carry -- function succeeded */
> +
> +       /* clear carry -- function succeeded */
> +       andw    $0xfffe, %ax
>  gs     movw    %ax, OFFS_FLAGS(%bp)
>
>        xorw    %ax, %ax
>        ret
>
> -
>  /*
>  ************************************************************
>  * BIOS interrupt 16h -- keyboard services
> @@ -498,7 +533,8 @@ gs  movw    OFFS_AX(%bp), %ax
>        movw    $0xffff, %ax
>        ret
>  Lfunc_03h:
> -       xorw    %ax, %ax                        /* do nothing -- function not supported */
> +       /* do nothing -- function not supported */
> +       xorw    %ax, %ax
>        ret
>
>  /*
> @@ -514,7 +550,9 @@ gs  movw    OFFS_AX(%bp), %ax
>        ret
>  Lfunc_b1h:
>        call    realmode_pci_bios
> -       xorw    %ax, %ax                        /* do nothing -- function not supported */
> +
> +       /* do nothing -- function not supported */
> +       xorw    %ax, %ax
>        ret
>
>
> diff --git a/arch/x86/lib/realmode_switch.S b/arch/x86/lib/realmode_switch.S
> index 7ee709a..c4c4c43 100644
> --- a/arch/x86/lib/realmode_switch.S
> +++ b/arch/x86/lib/realmode_switch.S
> @@ -44,12 +44,13 @@
>  *     e40 ss;
>  */
>
> -#define a32            .byte 0x67;             /* address size prefix 32 */
> -#define o32            .byte 0x66;             /* operand size prefix 32 */
> +#define a32            .byte 0x67;     /* address size prefix 32 */
> +#define o32            .byte 0x66;     /* operand size prefix 32 */
>
>  .section .realmode, "ax"
>  .code16
> -                                               /* 16bit protected mode code here */
> +
> +       /* 16bit protected mode code here */
>  .globl realmode_enter
>  realmode_enter:
>  o32    pusha
> @@ -69,20 +70,23 @@ o32 pushf
>        movw    %ax, %gs
>
>        lidt    realmode_idt_ptr
> -       movl    %cr0, %eax                      /* Go back into real mode by */
> -       andl    $0x7ffffffe, %eax               /* clearing PE to 0 */
> +       /* Go back into real mode by clearing PE to 0 */
> +       movl    %cr0, %eax
> +       andl    $0x7ffffffe, %eax
>        movl    %eax, %cr0
> -       ljmp    $0x0,$do_realmode               /* switch to real mode */
>
> -do_realmode:                                   /* realmode code from here */
> +       /* switch to real mode */
> +       ljmp    $0x0,$do_realmode
> +
> +do_realmode:
> +       /* realmode code from here */
>        movw    %cs,%ax
>        movw    %ax,%ds
>        movw    %ax,%es
>        movw    %ax,%fs
>        movw    %ax,%gs
>
> -                                               /* create a temporary stack */
> -
> +       /* create a temporary stack */
>        movw    $0xc0, %ax
>        movw    %ax, %ss
>        movw    $0x200, %ax
> @@ -114,26 +118,29 @@ o32       popf
>        popw    %ss
>        movl    %eax, %esp
>  cs     movl    temp_eax, %eax
> -       wbinvd                                  /* self-modifying code,
> -                                                * better flush the cache */
> +
> +       /* self-modifying code, better flush the cache */
> +       wbinvd
>
>        .byte   0x9a                            /* lcall */
>  temp_ip:
>        .word   0                               /* new ip */
>  temp_cs:
>        .word   0                               /* new cs */
> +
>  realmode_ret:
> -                                               /* save eax, esp and ss */
> +       /* save eax, esp and ss */
>  cs     movl    %eax, saved_eax
>        movl    %esp, %eax
>  cs     movl    %eax, saved_esp
>        movw    %ss, %ax
>  cs     movw    %ax, saved_ss
>
> -       /* restore the stack, note that we set sp to 0x244;
> +       /*
> +        * restore the stack, note that we set sp to 0x244;
>         * pt_regs is 0x44 bytes long and we push the structure
> -        * backwards on to the stack, bottom first */
> -
> +        * backwards on to the stack, bottom first
> +        */
>        movw    $0xc0, %ax
>        movw    %ax, %ss
>        movw    $0x244, %ax
> @@ -169,12 +176,15 @@ cs        movw    temp_ip, %ax
>        pushl   %ebx
>
>  o32 cs lidt    saved_idt
> -o32 cs lgdt    saved_gdt                       /* Set GDTR */
> +o32 cs lgdt    saved_gdt
>
> -       movl    %cr0, %eax                      /* Go back into protected mode */
> -       orl     $1,%eax /* reset PE to 1 */
> +       /* Go back into protected mode reset PE to 1 */
> +       movl    %cr0, %eax
> +       orl     $1,%eax
>        movl    %eax, %cr0
> -       jmp     next_line                       /* flush prefetch queue */
> +
> +       /* flush prefetch queue */
> +       jmp     next_line
>  next_line:
>        movw    $return_ptr, %ax
>        movw    %ax,%bp
> @@ -182,12 +192,13 @@ o32 cs    ljmp    *(%bp)
>
>  .code32
>  protected_mode:
> -       movl    $0x18,%eax                      /* reload GDT[3] */
> -       movw    %ax,%fs                         /* reset FS */
> -       movw    %ax,%ds                         /* reset DS */
> -       movw    %ax,%gs                         /* reset GS */
> -       movw    %ax,%es                         /* reset ES */
> -       movw    %ax,%ss                         /* reset SS */
> +       /* Reload segment registers */
> +       movl    $0x18, %eax
> +       movw    %ax, %fs
> +       movw    %ax, %ds
> +       movw    %ax, %gs
> +       movw    %ax, %es
> +       movw    %ax, %ss
>        movl    saved_protected_mode_esp, %eax
>        movl    %eax, %esp
>        popf
> --
> 1.7.5.2.317.g391b14
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
diff mbox

Patch

diff --git a/arch/x86/lib/bios.S b/arch/x86/lib/bios.S
index ce8deb5..239aaa9 100644
--- a/arch/x86/lib/bios.S
+++ b/arch/x86/lib/bios.S
@@ -246,11 +246,9 @@  rm_int1f:
 rm_def_int:
 	iret
 
-
 	/*
-	 * All interrupt jumptable entries jump to here
-	 * after pushing the interrupt vector number onto the
-	 * stack.
+	 * All interrupt jumptable entries jump to here after pushing the
+	 * interrupt vector number onto the stack.
 	 */
 any_interrupt16:
 	MAKE_BIOS_STACK
@@ -272,7 +270,8 @@  gs	movw	OFFS_VECTOR(%bp), %ax
 	je	Lint_1ah
 	movw	$0xffff, %ax
 	jmp	Lout
-Lint_10h:					/* VGA BIOS services */
+Lint_10h:
+	/* VGA BIOS services */
 	call	bios_10h
 	jmp	Lout
 Lint_11h:
@@ -281,35 +280,42 @@  Lint_11h:
 Lint_12h:
 	call	bios_12h
 	jmp	Lout
-Lint_13h:					/* BIOS disk services */
+Lint_13h:
+	/* BIOS disk services */
 	call	bios_13h
 	jmp	Lout
-Lint_15h:					/* Misc. BIOS services */
+Lint_15h:
+	/* Misc. BIOS services */
 	call	bios_15h
 	jmp	Lout
-Lint_16h:					/* keyboard services */
+Lint_16h:
+	/* keyboard services */
 	call	bios_16h
 	jmp	Lout
-Lint_1ah:					/* PCI bios */
+Lint_1ah:
+	/* PCI bios */
 	call	bios_1ah
 	jmp	Lout
 Lout:
 	cmpw	$0, %ax
 	je	Lhandeled
 
-	/* Insert code for unhandeled INTs here.
+	/*
+	 * Insert code for unhandeled INTs here.
 	 *
-	 * ROLO prints a message to the console
-	 * (we could do that but then we're in 16bit mode
-	 * so we'll have to get back into 32bit mode
-	 * to use the console I/O routines (if we do this
-	 * we shuls make int 0x10 and int 0x16 work as well))
+	 * ROLO prints a message to the console we could do that but then
+	 * we're in 16bit mode so we'll have to get back into 32bit mode
+	 * to use the console I/O routines (if we do this we should make
+	 * int 0x10 and int 0x16 work as well)
 	 */
 Lhandeled:
 	RESTORE_CALLERS_STACK
-	addw	$2,%sp				/* dump vector number */
-	iret					/* return from interrupt */
 
+	/* dump vector number */
+	addw	$2,%sp
+
+	/* return from interrupt */
+	iret
 
 /*
  ************************************************************
@@ -327,22 +333,24 @@  gs	movw	OFFS_AX(%bp), %ax
 	je	Lvid_cfg
 	movw	$0xffff, %ax
 	ret
-Lcur_pos:					/* Read Cursor Position and Size */
+Lcur_pos:
+	/* Read Cursor Position and Size */
 gs	movw	$0, OFFS_CX(%bp)
 gs	movw	$0, OFFS_DX(%bp)
 	xorw	%ax, %ax
 	ret
-Lvid_state:					/* Get Video State */
-gs	movw	$(80 << 8|0x03), OFFS_AX(%bp)	/* 80 columns, 80x25, 16 colors */
+Lvid_state:
+	/* Get Video State - 80 columns, 80x25, 16 colors */
+gs	movw	$(80 << 8|0x03), OFFS_AX(%bp)
 gs	movw	$0, OFFS_BX(%bp)
 	xorw	%ax, %ax
 	ret
-Lvid_cfg:	/* Video Subsystem Configuration (EGA/VGA) */
-gs	movw	$0x10, OFFS_BX(%bp)		/* indicate CGA/MDA/HGA */
+Lvid_cfg:
+	/* Video Subsystem Configuration (EGA/VGA) - indicate CGA/MDA/HGA */
+gs	movw	$0x10, OFFS_BX(%bp)
 	xorw	%ax, %ax
 	ret
 
-
 /*
  ************************************************************
  * BIOS interrupt 11h -- Equipment determination
@@ -355,7 +363,6 @@  gs	movw	%ax, OFFS_AX(%bp)
 	xorw	%ax, %ax
 	ret
 
-
 /*
  ************************************************************
  * BIOS	interrupt 12h -- Get Memory Size
@@ -370,16 +377,18 @@  cs	movw	ram_in_64kb_chunks, %ax
 b12_more_than_640k:
 	movw	$0x280, %ax
 b12_return:
-gs	movw	%ax, OFFS_AX(%bp)		/* return number of kilobytes in ax */
+	/* return number of kilobytes in ax */
+gs	movw	%ax, OFFS_AX(%bp)
 
 gs	movw	OFFS_FLAGS(%bp), %ax
-	andw	$0xfffe, %ax			/* clear carry -- function succeeded */
+
+	/* clear carry -- function succeeded */
+	andw	$0xfffe, %ax
 gs	movw	%ax, OFFS_FLAGS(%bp)
 
 	xorw	%ax, %ax
 	ret
 
-
 /*
  ************************************************************
  * BIOS interrupt 13h -- Disk services
@@ -394,12 +403,13 @@  gs	movw	OFFS_AX(%bp), %ax
 	ret
 Lfunc_15h:
 gs	movw	OFFS_AX(%bp), %ax
-	andw	$0xff, %ax			/* return AH=0->drive not present */
+
+	/* return AH=0->drive not present */
+	andw	$0x00ff, %ax
 gs	movw	%ax, OFFS_AX(%bp)
 	xorw	%ax, %ax
 	ret
 
-
 /*
  ***********************************************************
  * BIOS interrupt 15h -- Miscellaneous services
@@ -417,9 +427,12 @@  gs	movw	OFFS_AX(%bp), %ax
 	movw	$0xffff, %ax
 	ret
 
-Lfunc_c0h:					/* Return System Configuration Parameters (PS2 only) */
+Lfunc_c0h:
+	/* Return System Configuration Parameters (PS2 only) */
 gs	movw	OFFS_FLAGS(%bp), %ax
-	orw	$1, %ax				/* return carry -- function not supported */
+
+	/* return carry -- function not supported */
+	orw	$1, %ax
 gs	movw	%ax, OFFS_FLAGS(%bp)
 	xorw	%ax, %ax
 	ret
@@ -430,38 +443,56 @@  gs	movw	OFFS_AX(%bp), %ax
 	cmpw	$1, %ax
 	je	Lfunc_e801h
 gs	movw	OFFS_FLAGS(%bp), %ax
-	orw	$1, %ax				/* return carry -- function not supported */
+
+	/* return carry -- function not supported */
+	orw	$1, %ax
 gs	movw	%ax, OFFS_FLAGS(%bp)
 	xorw	%ax, %ax
 	ret
 
-Lfunc_e801h:					/* Get memory size for >64M Configurations */
+Lfunc_e801h:
+	/* Get memory size for >64M Configurations */
 cs	movw	ram_in_64kb_chunks, %ax
 	cmpw	$0x100, %ax
 	ja	e801_more_than_16mb
-	shlw	$6, %ax				/* multiply by 64 */
-	subw	$0x400, %ax			/* 1st meg does not count */
 
-gs	movw	%ax, OFFS_AX(%bp)		/* return memory size between 1M and 16M in 1kb chunks in AX and CX */
+	/* multiply by 64 */
+	shlw	$6, %ax
+
+	/* 1st meg does not count */
+	subw	$0x400, %ax
+
+	/* return memory size between 1M and 16M in 1kb chunks in AX and CX */
+gs	movw	%ax, OFFS_AX(%bp)
 gs	movw	%ax, OFFS_CX(%bp)
-gs	movw	$0, OFFS_BX(%bp)		/* set BX and DX to 0*/
+
+	/* set BX and DX to 0*/
+gs	movw	$0, OFFS_BX(%bp)
 gs	movw	$0, OFFS_DX(%bp)
 gs	movw	OFFS_FLAGS(%bp), %ax
-	andw	$0xfffe, %ax			/* clear carry -- function succeeded */
+
+	/* clear carry -- function succeeded */
+	andw	$0xfffe, %ax
 gs	movw	%ax, OFFS_FLAGS(%bp)
 	xorw	%ax, %ax
 	ret
 
 e801_more_than_16mb:
-	subw	$0x100, %ax			/* subtract 16MB */
+	/* subtract 16MB */
+	subw	$0x100, %ax
 
-gs	movw	$0x3c00, OFFS_AX(%bp)		/* return 0x3c00 (16MB-1MB) in AX and CX */
+	/* return 0x3c00 (16MB-1MB) in AX and CX */
+gs	movw	$0x3c00, OFFS_AX(%bp)
 gs	movw	$0x3c00, OFFS_CX(%bp)
-gs	movw	%ax, OFFS_BX(%bp)		/* set BX and DX to number of 64kb chunks above 16MB */
+
+	/* set BX and DX to number of 64kb chunks above 16MB */
+gs	movw	%ax, OFFS_BX(%bp)
 gs	movw	%ax, OFFS_DX(%bp)
 
 gs	movw	OFFS_FLAGS(%bp), %ax
-	andw	$0xfffe, %ax			/* clear carry -- function succeeded */
+
+	/* clear carry -- function succeeded */
+	andw	$0xfffe, %ax
 gs	movw	%ax, OFFS_FLAGS(%bp)
 	xorw	%ax, %ax
 	ret
@@ -473,18 +504,22 @@  cs	movw	ram_in_64kb_chunks, %ax
 	movw	$0x100, %ax
 b88_not_more_than16:
 	shlw	$6, %ax
-	subw	$0x400, %ax			/* 1st meg does not count */
 
-gs	movw	%ax, OFFS_AX(%bp)		/* return number of kilobytes between 16MB and 16MB in ax */
+	/* 1st meg does not count */
+	subw	$0x400, %ax
+
+	/* return number of kilobytes between 16MB and 16MB in ax */
+gs	movw	%ax, OFFS_AX(%bp)
 
 gs	movw	OFFS_FLAGS(%bp), %ax
-	andw	$0xfffe, %ax			/* clear carry -- function succeeded */
+
+	/* clear carry -- function succeeded */
+	andw	$0xfffe, %ax
 gs	movw	%ax, OFFS_FLAGS(%bp)
 
 	xorw	%ax, %ax
 	ret
 
-
 /*
  ************************************************************
  * BIOS interrupt 16h -- keyboard services
@@ -498,7 +533,8 @@  gs	movw	OFFS_AX(%bp), %ax
 	movw	$0xffff, %ax
 	ret
 Lfunc_03h:
-	xorw	%ax, %ax			/* do nothing -- function not supported */
+	/* do nothing -- function not supported */
+	xorw	%ax, %ax
 	ret
 
 /*
@@ -514,7 +550,9 @@  gs	movw	OFFS_AX(%bp), %ax
 	ret
 Lfunc_b1h:
 	call	realmode_pci_bios
-	xorw	%ax, %ax			/* do nothing -- function not supported */
+
+	/* do nothing -- function not supported */
+	xorw	%ax, %ax
 	ret
 
 
diff --git a/arch/x86/lib/realmode_switch.S b/arch/x86/lib/realmode_switch.S
index 7ee709a..c4c4c43 100644
--- a/arch/x86/lib/realmode_switch.S
+++ b/arch/x86/lib/realmode_switch.S
@@ -44,12 +44,13 @@ 
  *	e40 ss;
  */
 
-#define a32		.byte 0x67;		/* address size prefix 32 */
-#define o32		.byte 0x66;		/* operand size prefix 32 */
+#define a32		.byte 0x67;	/* address size prefix 32 */
+#define o32		.byte 0x66;	/* operand size prefix 32 */
 
 .section .realmode, "ax"
 .code16
-						/* 16bit protected mode code here */
+
+	/* 16bit protected mode code here */
 .globl realmode_enter
 realmode_enter:
 o32	pusha
@@ -69,20 +70,23 @@  o32	pushf
 	movw	%ax, %gs
 
 	lidt	realmode_idt_ptr
-	movl	%cr0, %eax			/* Go back into real mode by */
-	andl	$0x7ffffffe, %eax		/* clearing PE to 0 */
+	/* Go back into real mode by clearing PE to 0 */
+	movl	%cr0, %eax
+	andl	$0x7ffffffe, %eax
 	movl	%eax, %cr0
-	ljmp	$0x0,$do_realmode		/* switch to real mode */
 
-do_realmode:					/* realmode code from here */
+	/* switch to real mode */
+	ljmp	$0x0,$do_realmode
+
+do_realmode:
+	/* realmode code from here */
 	movw	%cs,%ax
 	movw	%ax,%ds
 	movw	%ax,%es
 	movw	%ax,%fs
 	movw	%ax,%gs
 
-						/* create a temporary stack */
-
+	/* create a temporary stack */
 	movw	$0xc0, %ax
 	movw	%ax, %ss
 	movw	$0x200, %ax
@@ -114,26 +118,29 @@  o32	popf
 	popw	%ss
 	movl	%eax, %esp
 cs	movl	temp_eax, %eax
-	wbinvd					/* self-modifying code,
-						 * better flush the cache */
+
+	/* self-modifying code, better flush the cache */
+	wbinvd
 
 	.byte	0x9a				/* lcall */
 temp_ip:
 	.word	0				/* new ip */
 temp_cs:
 	.word	0				/* new cs */
+
 realmode_ret:
-						/* save eax, esp and ss */
+	/* save eax, esp and ss */
 cs	movl	%eax, saved_eax
 	movl	%esp, %eax
 cs	movl	%eax, saved_esp
 	movw	%ss, %ax
 cs	movw	%ax, saved_ss
 
-	/* restore the stack, note that we set sp to 0x244;
+	/*
+	 * restore the stack, note that we set sp to 0x244;
 	 * pt_regs is 0x44 bytes long and we push the structure
-	 * backwards on to the stack, bottom first */
-
+	 * backwards on to the stack, bottom first
+	 */
 	movw	$0xc0, %ax
 	movw	%ax, %ss
 	movw	$0x244, %ax
@@ -169,12 +176,15 @@  cs	movw	temp_ip, %ax
 	pushl	%ebx
 
 o32 cs	lidt	saved_idt
-o32 cs	lgdt	saved_gdt			/* Set GDTR */
+o32 cs	lgdt	saved_gdt
 
-	movl	%cr0, %eax			/* Go back into protected mode */
-	orl	$1,%eax	/* reset PE to 1 */
+	/* Go back into protected mode reset PE to 1 */
+	movl	%cr0, %eax
+	orl	$1,%eax
 	movl	%eax, %cr0
-	jmp	next_line			/* flush prefetch queue */
+
+	/* flush prefetch queue */
+	jmp	next_line
 next_line:
 	movw	$return_ptr, %ax
 	movw	%ax,%bp
@@ -182,12 +192,13 @@  o32 cs	ljmp	*(%bp)
 
 .code32
 protected_mode:
-	movl	$0x18,%eax			/* reload GDT[3] */
-	movw	%ax,%fs				/* reset FS */
-	movw	%ax,%ds				/* reset DS */
-	movw	%ax,%gs				/* reset GS */
-	movw	%ax,%es				/* reset ES */
-	movw	%ax,%ss				/* reset SS */
+	/* Reload segment registers */
+	movl	$0x18, %eax
+	movw	%ax, %fs
+	movw	%ax, %ds
+	movw	%ax, %gs
+	movw	%ax, %es
+	movw	%ax, %ss
 	movl	saved_protected_mode_esp, %eax
 	movl	%eax, %esp
 	popf