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

Simon Glass sjg at chromium.org
Wed Jan 4 06:47:26 CET 2012


Hi Graeme,

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

Acked-by: Simon Glass <sjg at 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 at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list