Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Are these actually invalid? Or is the sim getting it wrong?
|
|
|
|
This models the new GPIO controller found on BF60x processors.
|
|
This models the new DMA controller found on BF60x processors.
|
|
This models the new static memory controller found on BF60x processors.
2012-08-28 Mike Frysinger <vapier@gentoo.org>
* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_smc.
* configure: Regenerated.
* dv-bfin_smc.c, dv-bfin_smc.h: New device model.
* machs.h (BFIN_MMR_SMC_SIZE): Define.
|
|
This models the new fuse controller found on BF60x processors.
|
|
This models the new system protection unit found on BF60x processors.
This is mostly a stub implementation at the moment -- shims for the
registers.
2012-08-28 Mike Frysinger <vapier@gentoo.org>
* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_spu.
* configure: Regenerated.
* dv-bfin_spu.c, dv-bfin_spu.h: New device model.
* machs.h (BFIN_MMR_SPU_SIZE): Define.
|
|
This models the new interrupt controller found on BF60x processors.
This is mostly a stub implementation at the moment -- shims for the
registers. There is no port routing yet.
2012-08-28 Mike Frysinger <vapier@gentoo.org>
* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_sec.
* configure: Regenerated.
* dv-bfin_sec.c, dv-bfin_sec.h: New device model.
* machs.h (BFIN_MMR_SEC_BASE): Define.
(BFIN_MMR_SEC_SIZE): Likewise.
|
|
This models the new clock generation unit found on BF60x processors.
2012-08-28 Mike Frysinger <vapier@gentoo.org>
* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_cgu.
* configure: Regenerated.
* dv-bfin_cgu.c, dv-bfin_cgu.h: New device model.
* machs.h (BFIN_MMR_CGU_SIZE): Define.
|
|
This models the latest UART implementation found on BF60x processors.
2012-08-28 Mike Frysinger <vapier@gentoo.org>
* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_uart4.
* configure: Regenerated.
* dv-bfin_uart.c (bfin_uart_poll): Call bfin_uart_get_status with
new second argument.
(bfin_uart_get_status): Change to take a 2nd argument. Replace
TEMT | THRE with new txs argument.
* dv-bfin_uart.h: Include new dv-bfin_uart_core.h header.
(struct bfin_uart, bfin_uart_get_next_byte, bfin_uart_write_byte,
bfin_uart_get_status, bfin_uart_write_buffer, bfin_uart_read_buffer,
bfin_uart_reschedule): Delete.
* dv-bfin_uart2.c (bfin_uart_io_read_buffer): Call
bfin_uart_get_status with new second argument.
* dv-bfin_uart4.c, dv-bfin_uart4.h: New UART model.
* dv-bfin_uart_core.h: New file.
* machs.h (BFIN_MMR_UART4_SIZE): Define.
|
|
|
|
on hardware
|
|
XXX: Need to qualify this better.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
This reverts commit 29dd0cd28218880292b6d69322b09c09c04fd59b.
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The output port of the core timer is currently always high and never goes
low, so make sure we lower the level after sending it out. This way the
other side (the CEC) knows when to delatch things.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-04-26 Mike Frysinger <vapier@gentoo.org>
* dv-bfin_ctimer.c (bfin_ctimer_expire): Call hw_port_event a 2nd
time with a level of 0.
|
|
When the internal interrupt routes get updated (via the IAR MMRs), we need
to resend all the output levels as they might have changed. We also need
to do this after the MMR write is committed instead of before so that we
send out the most up-to-date value.
Further, we need to send both high and low levels so that when a line goes
low, the other side is made aware of this.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-04-25 Mike Frysinger <vapier@gentoo.org>
* dv-bfin_sic.c (bfin_sic_forward_interrupts): Declare new local
"levels" array. Drop empty ipend if check. Set levels to 1 instead
of calling hw_port_event directly. Add a new loop over the levels
array at the end of the func and move the HW_TRACE/hw_port_event
call there.
(bfin_sic_52x_io_write_buffer): Move the forward interrupts call
after the value32p write, and run this code for IAR MMRs too.
(bfin_sic_537_io_write_buffer, bfin_sic_54x_io_write_buffer,
bfin_sic_561_io_write_buffer): Likewise.
|
|
Since the input ports are level based (coming from the SIC/ctimer), make
sure we keep those values separate from levels manually raised via insns
(like RAISE and EXCPT) or cleared via MMRs (writes to ILAT). This way
the peripherals can raise/lower their interrupt lines without affecting
manual tweaking, and we get behavior that matches the hardware.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-04-25 Mike Frysinger <vapier@gentoo.org>
* dv-bfin_cec.c (bfin_cec): Add "plat" member.
(bfin_cec_io_read_buffer): Merge "plat" with "ilat" when reading
the ILAT MMR.
(bfin_cec_port_event): Use the incoming level to set/clear bits
in "plat". When the bit isn't yet set, also call _cec_raise.
(_cec_raise): Merge "plat" with "ilat" when calling __cec_get_ivg.
|
|
Not sure this is still needed ...
Signed-off-by: Jie Zhang <jie@codesourcery.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
This tweaks a lot of hardware code to use "unsigned" instead of "int" to
fix gcc warnings about signed/unsigned comparisons. In these cases, the
code is already working with unsigned variables, so there shouldn't be a
problem converting the local variables from "int".
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-10 Mike Frysinger <vapier@gentoo.org>
* dv-sockser.c (dv_sockser_init): Change local tmp var to unsigned.
* hw-ports.c, hw-ports.h (hw_port_encode): Change sizeof_buf arg to
unsigned.
* hw-properties.c (hw_add_range_array_property): Change local i var
to unsigned.
(hw_add_reg_array_property): Likewise.
(hw_add_string_array_property): Change local vars sizeof_array and
string_nr to unsigned.
(hw_find_string_array_property): Change local vars nr_entries to
unsigned.
* hw-tree.c (split_device_specifier): Change local len var to
unsigned.
(print_properties): Change local cell_nr var to unsigned.
* sim-core.c (sim_core_read_buffer): Change local nr_bytes var to
unsigned.
(sim_core_write_buffer): Likewise.
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
These files are never checked into cvs, and are generated by most
testsuites, so ignore them.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-28 Mike Frysinger <vapier@gentoo.org>
* .gitignore: Ignore site.bak and site.exp.
|
|
The common igen code provides the same misc APIs as the ppc version,
so delete the ppc code and pull in the common one. There is one
minor difference: the ppc code has a unique dumpf function. The
common code switched to lf_printf for the same functionality, but
since that requires changes throughout the igen codebase, delay that
cleanup for now so we can merge the rest.
|
|
Switch to an ERROR macro and tweak the error signature to match the
common igen version in preparation for merging the two implementations.
|
|
The ppc igen error helper allows arbitrary printf calls, so extend
the common one to do the same.
|
|
We want to avoid conflicts with the common igen enums. This should
get migrated over to the common parsing logic, but for now, switch
the name to avoid redefinition.
|
|
Copy some improvements from the ppc igen code.
|
|
Now that both igen implementations are in the top-level, we can unify
the filter_filename implementation between them since they're the same
(literally the same code).
|
|
The lbasename function from libiberty provides the same API as this
custom function. The common/ code already made the switch, so make
the same change to the ppc code to avoid target duplication.
|
|
This simplifies the build a bit (especially for deps in port subdirs),
and avoids recursive make. This in turn speeds up the build, and lets
us reuse existing build-time vs host-time logic from Makefile.am.
|
|
This header is only used by the igen tool, and none of the igen code
depends on the configure-time checks. Delete the logic to simplify
to prepare for moving it to the local.mk code.
|
|
Switch this from a build-time generation to a static include. This
makes the build rules a bit simpler, especially as we move them to
Automake from hand-written makefiles.
|
|
|
|
This is never set anywhere, so it's always empty. Scrub it.
|
|
This code sets up the cc variable based on the comparison of other
registers, but it does so incrementally with bit operations, and it
never initializes the cc variable. Initialize it to 0 which the
cmpba insn is already doing.
|
|
Move it into read-only data sections to avoid constructing them on the
stack at runtime.
|
|
|
|
The "flag" argument isn't set/used in this insn, so drop it.
This fixes an unused variable warning in the generated sim.
|
|
I noticed a typo in a sim constant. This patch fixes it.
permenant -> permanent
|
|
|
|
Mark pointed out that a recent patch of mine caused the buildbot to
complain about the formatting of some Python test code. This patch
re-runs 'black' to fix the problem.
|
|
On aarch64-linux with a gdb build without libexpat, I run into:
...
(gdb) PASS: gdb.base/catch-syscall.exp: determine pipe syscall: \
catch syscall 59
continue
Continuing.
Catchpoint 5 (call to syscall 59), 0x0000fffff7e04578 in pipe () from \
/lib64/libc.so.6
(gdb) FAIL: gdb.base/catch-syscall.exp: determine pipe syscall: continue
...
In the test-case, this pattern handles either the syscall name or number for
the pipe syscall:
...
-re -wrap "Catchpoint $decimal \\(call to syscall (pipe|$SYS_pipe)\\).*" {
...
but the pattern for the pipe2 syscall mistakenly uses SYS_pipe instead of
SYS_pipe2:
...
-re -wrap "Catchpoint $decimal \\(call to syscall (pipe2|$SYS_pipe)\\).*" {
...
and consequently doesn't handle the pipe2 syscall number.
Fix the typo by using SYS_pipe2 instead.
Tested on aarch64-linux.
|
|
|
|
The gdb docs promise that methods with more than two or more arguments
will accept keywords. However, I found that TuiWindow.write didn't
allow them. This patch adds the missing support.
|
|
When running test-case gdb.base/gdb-index-err.exp in a container as root user,
I run into:
...
FAIL: gdb.base/gdb-index-err.exp: flag=: \
try to write index to a non-writable directory
FAIL: gdb.base/gdb-index-err.exp: flag=-dwarf-5: \
try to write index to a non-writable directory
...
The test-case creates a directory without write permissions:
...
$ ls -ald private
dr-xr-xr-x 2 root root 4096 Dec 29 06:26 private/
...
but apparently the root user is still able to write in it.
Fix this by making the test unsupported for the root user.
Tested on x86_64-linux.
Reviewed-By: Lancelot SIX <lancelot.six@amd.com>
PR testsuite/31197
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31197
|
|
This adds an extra feature: Commas inside double quotes are not an
arg delimiter, and thus can be part of the arg.
* loongarch-coder.c (loongarch_split_args_by_comma): Commas
inside quotes are not arg delimiters.
|
|
Please DON'T edit this file. READ THE COMMENT!
|
|
There will be another update in January.
|