Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
583cb003
Unverified
Commit
583cb003
authored
Oct 25, 2018
by
Antonio Niño Díaz
Committed by
GitHub
Oct 25, 2018
Browse files
Merge pull request #1640 from soby-mathew/sm/fin_con_reg
Multi-console: Deprecate the `finish_console_register` macro
parents
2ebacb88
cc5859ca
Changes
10
Hide whitespace changes
Inline
Side-by-side
drivers/arm/pl011/aarch32/pl011_console.S
View file @
583cb003
...
...
@@ -6,6 +6,7 @@
#include <arch.h>
#include <asm_macros.S>
#include <assert_macros.S>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
#include <pl011.h>
...
...
@@ -116,7 +117,7 @@ func console_pl011_register
mov
r0
,
r4
pop
{
r4
,
lr
}
finish_console_register
pl011
finish_console_register
pl011
putc
=
1
,
getc
=
1
,
flush
=
1
register_fail
:
pop
{
r4
,
pc
}
...
...
drivers/arm/pl011/aarch64/pl011_console.S
View file @
583cb003
...
...
@@ -6,6 +6,7 @@
#include <arch.h>
#include <asm_macros.S>
#include <assert_macros.S>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
#include <pl011.h>
...
...
@@ -110,7 +111,7 @@ func console_pl011_register
mov
x0
,
x6
mov
x30
,
x7
finish_console_register
pl011
finish_console_register
pl011
putc
=
1
,
getc
=
1
,
flush
=
1
register_fail
:
ret
x7
...
...
drivers/cadence/uart/aarch64/cdns_console.S
View file @
583cb003
...
...
@@ -7,6 +7,8 @@
#include <asm_macros.S>
#include <assert_macros.S>
#include <cadence/cdns_uart.h>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
/
*
*
"core"
functions
are
low
-
level
implementations
that
don
't require
...
...
@@ -77,7 +79,7 @@ func console_cdns_register
mov
x0
,
x6
mov
x30
,
v7
finish_console_register
cdns
finish_console_register
cdns
putc
=
1
,
getc
=
1
,
flush
=
1
register_fail
:
ret
x7
...
...
drivers/console/aarch64/skeleton_console.S
View file @
583cb003
...
...
@@ -4,6 +4,7 @@
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
#include <asm_macros.S>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
/
*
...
...
@@ -60,8 +61,12 @@ func console_xxx_register
*
Keep
console_t
pointer
in
x0
for
later
.
*/
/
*
Macro
to
finish
up
registration
and
return
(
needs
valid
x0
+
x30
)
.
*/
finish_console_register
xxx
/
*
*
Macro
to
finish
up
registration
and
return
(
needs
valid
x0
+
x30
)
.
*
If
any
of
the
argument
is
unspecified
,
then
the
corresponding
*
entry
in
console_t
is
set
to
0
.
*/
finish_console_register
xxx
putc
=
1
,
getc
=
1
,
flush
=
1
/
*
Jump
here
if
hardware
init
fails
or
parameters
are
invalid
.
*/
register_fail
:
...
...
drivers/coreboot/cbmem_console/aarch64/cbmem_console.S
View file @
583cb003
...
...
@@ -6,6 +6,7 @@
#include <asm_macros.S>
#include <cbmem_console.h>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
/*
...
...
@@ -39,7 +40,7 @@ func console_cbmc_register
ldr
w2
,
[
x0
]
str
w2
,
[
x1
,
#
CONSOLE_T_CBMC_SIZE
]
mov
x0
,
x1
finish_console_register
cbmc
finish_console_register
cbmc
putc
=
1
,
flush
=
1
endfunc
console_cbmc_register
/
*
-----------------------------------------------
...
...
drivers/ti/uart/aarch64/16550_console.S
View file @
583cb003
...
...
@@ -7,6 +7,7 @@
#include <arch.h>
#include <asm_macros.S>
#include <assert_macros.S>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
#include <uart_16550.h>
...
...
@@ -112,7 +113,7 @@ func console_16550_register
mov
x0
,
x6
mov
x30
,
x7
finish_console_register
16550
finish_console_register
16550
putc
=
1
,
getc
=
1
,
flush
=
1
register_fail
:
ret
x7
...
...
include/common/aarch32/console_macros.S
View file @
583cb003
...
...
@@ -17,6 +17,14 @@
*
with
a
tail
call
that
will
include
return
to
the
caller
.
*
REQUIRES
console_t
pointer
in
x0
and
a
valid
return
address
in
x30
.
*/
/*
*
The
USE_FINISH_CONSOLE_REG_2
guard
is
introduced
to
allow
selection
between
*
the
2
variants
of
the
finish_console_register
macro
and
will
be
removed
*
once
the
deprecated
variant
is
removed
.
*/
#ifndef USE_FINISH_CONSOLE_REG_2
#if !ERROR_DEPRECATED
/
*
This
version
of
the
macro
is
deprecated
.
Use
the
new
version
*/
.
macro
finish_console_register
_driver
/
*
*
Add
these
weak
definitions
so
we
will
automatically
write
a
0
if
the
...
...
@@ -39,5 +47,38 @@
str
r1
,
[
r0
,
#
CONSOLE_T_FLAGS
]
b
console_register
.
endm
#endif /* ERROR_DEPRECATED */
#else /* USE_FINISH_CONSOLE_REG_2 */
/
*
The
new
version
of
the
macro
not
using
weak
references
*/
.
macro
finish_console_register
_driver
,
putc
=
0
,
getc
=
0
,
flush
=
0
/
*
*
If
any
of
the
callback
is
not
specified
or
set
as
0
,
then
the
*
corresponding
callback
entry
in
console_t
is
set
to
0
.
*/
.
ifne
\
putc
ldr
r1
,
=
console_
\
_driver
\
()
_putc
.
else
mov
r1
,
#
0
.
endif
str
r1
,
[
r0
,
#
CONSOLE_T_PUTC
]
.
ifne
\
getc
ldr
r1
,
=
console_
\
_driver
\
()
_getc
.
else
mov
r1
,
#
0
.
endif
str
r1
,
[
r0
,
#
CONSOLE_T_GETC
]
.
ifne
\
flush
ldr
r1
,
=
console_
\
_driver
\
()
_flush
.
else
mov
r1
,
#
0
.
endif
str
r1
,
[
r0
,
#
CONSOLE_T_FLUSH
]
mov
r1
,
#(
CONSOLE_FLAG_BOOT
|
CONSOLE_FLAG_CRASH
)
str
r1
,
[
r0
,
#
CONSOLE_T_FLAGS
]
b
console_register
.
endm
#endif /* USE_FINISH_CONSOLE_REG_2 */
#endif /* __CONSOLE_MACROS_S__ */
include/common/aarch64/console_macros.S
View file @
583cb003
/*
*
Copyright
(
c
)
2017
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2017
-
2018
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -17,6 +17,14 @@
*
with
a
tail
call
that
will
include
return
to
the
caller
.
*
REQUIRES
console_t
pointer
in
x0
and
a
valid
return
address
in
x30
.
*/
/*
*
The
USE_FINISH_CONSOLE_REG_2
guard
is
introduced
to
allow
selection
between
*
the
2
variants
of
the
finish_console_register
macro
and
will
be
removed
*
once
the
deprecated
variant
is
removed
.
*/
#ifndef USE_FINISH_CONSOLE_REG_2
#if !ERROR_DEPRECATED
/
*
This
version
of
the
macro
is
deprecated
.
Use
the
new
version
*/
.
macro
finish_console_register
_driver
/
*
*
Add
these
weak
definitions
so
we
will
automatically
write
a
0
if
the
...
...
@@ -39,5 +47,41 @@
str
x1
,
[
x0
,
#
CONSOLE_T_FLAGS
]
b
console_register
.
endm
#endif /* ERROR_DEPRECATED */
#else /* USE_FINISH_CONSOLE_REG_2 */
/
*
The
new
version
of
the
macro
not
using
weak
references
*/
.
macro
finish_console_register
_driver
,
putc
=
0
,
getc
=
0
,
flush
=
0
/
*
*
If
any
of
the
callback
is
not
specified
or
set
as
0
,
then
the
*
corresponding
callback
entry
in
console_t
is
set
to
0
.
*/
.
ifne
\
putc
adrp
x1
,
console_
\
_driver
\
()
_putc
add
x1
,
x1
,
:
lo12
:
console_
\
_driver
\
()
_putc
str
x1
,
[
x0
,
#
CONSOLE_T_PUTC
]
.
else
str
xzr
,
[
x0
,
#
CONSOLE_T_PUTC
]
.
endif
.
ifne
\
getc
adrp
x1
,
console_
\
_driver
\
()
_getc
add
x1
,
x1
,
:
lo12
:
console_
\
_driver
\
()
_getc
str
x1
,
[
x0
,
#
CONSOLE_T_GETC
]
.
else
str
xzr
,
[
x0
,
#
CONSOLE_T_GETC
]
.
endif
.
ifne
\
flush
adrp
x1
,
console_
\
_driver
\
()
_flush
add
x1
,
x1
,
:
lo12
:
console_
\
_driver
\
()
_flush
str
x1
,
[
x0
,
#
CONSOLE_T_FLUSH
]
.
else
str
xzr
,
[
x0
,
#
CONSOLE_T_FLUSH
]
.
endif
mov
x1
,
#(
CONSOLE_FLAG_BOOT
|
CONSOLE_FLAG_CRASH
)
str
x1
,
[
x0
,
#
CONSOLE_T_FLAGS
]
b
console_register
.
endm
#endif /* USE_FINISH_CONSOLE_REG_2 */
#endif /* __CONSOLE_MACROS_S__ */
plat/imx/common/lpuart_console.S
View file @
583cb003
...
...
@@ -6,6 +6,7 @@
#include <arch.h>
#include <asm_macros.S>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
#include <assert_macros.S>
#include "imx8_lpuart.h"
...
...
@@ -26,7 +27,7 @@ func console_lpuart_register
mov
x0
,
x6
mov
x30
,
x7
finish_console_register
lpuart
finish_console_register
lpuart
putc
=
1
,
getc
=
1
register_fail
:
ret
x7
...
...
plat/layerscape/common/aarch64/ls_console.S
View file @
583cb003
...
...
@@ -6,6 +6,7 @@
#include <arch.h>
#include <asm_macros.S>
#define USE_FINISH_CONSOLE_REG_2
#include <console_macros.S>
#include <assert_macros.S>
#include "ls_16550.h"
...
...
@@ -106,7 +107,7 @@ func console_ls_16550_register
mov
x0
,
x6
mov
x30
,
x7
finish_console_register
ls_16550
finish_console_register
ls_16550
putc
=
1
,
getc
=
1
,
flush
=
1
register_fail
:
ret
x7
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment