Commit Graph

57 Commits

Author SHA1 Message Date
b97f6a9e44 bootloader: fix compilation warning without Ethernet 2023-06-02 10:48:55 +08:00
1ca09b9484
Add support for default route (IPv4 and IPv6) (#2059)
Based on code by Michael Birtwell <michael.birtwell@oxionics.com>
2023-03-13 17:29:10 +08:00
628b671433 update copyright year 2023-01-12 10:41:10 +08:00
b8b6ce14cc Update smoltcp to 0.8.2
This fixes an issue where TCP issues are not retransmitted when only
some packets in a burst are acknowledged. This causes smoltcp to never
make progress and hang.

Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2022-11-28 22:10:23 +08:00
1fe59d27dc Use an Ipv4AddrConfig enum instead of the USE_DHCP constant 2022-04-24 10:10:43 +08:00
c60de48a30 Upgrade smoltcp 0.6.0 -> 0.8.0
Main changes:
Deal with interfaces now being generic over mediums, update interface name
and initialisation.
Interfaces now own their sockets. So we store a reference to the Interface
instead of the SocketSet in Scheduler and IO.
Sockets are no longer reference counted. We never called the function to
increase the socket's reference count, so now we just remove it where it
was previously released. This will result in the socket being dropped at
a different time, but I think that should be fine.

Tested firmware upload to the bootloader and spamming artiq_coremgmt log
calls to download the log from the firmware.

Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-04-24 10:09:27 +08:00
8415151866 update copyright year 2022-03-10 11:56:16 +08:00
David Nadlinger
e45cb217be firmware: Explicitly use wrapping integer math in PRNGs
Patch by Hannah McLaughlin; apparently, the overflow actually
doesn't get checked/reported without `opt-level = 2` and
`lto = "thin"`.
2022-02-03 23:57:17 +00:00
b3e315e24a rust: find json file using CARGO_TRIPLE 2021-11-08 16:59:08 +08:00
6d3164a912 riscv: print mtval on panic 2021-10-16 17:42:24 +08:00
dcbd9f905c cargo: use cargo xbuild 2021-09-10 13:25:12 +08:00
798774192d slave_fpga/bootloader: read in little endian 2021-09-10 13:25:12 +08:00
eecd825d23 firmware: suppress warning 2021-09-10 13:25:12 +08:00
3d629006df makefiles: revert byte-swaps 2021-09-10 13:25:12 +08:00
1293e0750e ld, makefiles: use ld.lld 2021-09-10 13:25:12 +08:00
3ff74e0693 bootloader: handle .sbss generation in .ld
Signed-off-by: occheung <dc@m-labs.hk>
2021-09-10 13:20:31 +08:00
448fe0e8cf bootloader: fix panic
Signed-off-by: occheung <dc@m-labs.hk>
2021-09-10 13:20:31 +08:00
8294d7fea5 bootloader: swap endianness
Signed-off-by: occheung <dc@m-labs.hk>
2021-09-10 13:20:31 +08:00
13032272fd bootloader: add rv32 exception handler
Signed-off-by: occheung <dc@m-labs.hk>
2021-09-10 13:20:31 +08:00
14d464b4cf update copyright year 2021-02-17 15:52:08 +08:00
b83afedf43 kasli: light up ERROR LED on panic 2020-05-07 19:06:10 +08:00
bfcbffcd8d update smoltcp
This disables the 'log' features which does not compile, and may break net_trace. To be investigated later.
2020-01-21 13:58:23 +08:00
9d7196bdb7 update copyright year 2020-01-13 19:33:44 +08:00
6644903843 bootloader: fix imports 2019-11-06 14:45:55 +08:00
b25a17fa37 netboot: support slave FPGA loading 2019-11-05 16:28:49 +08:00
9dc82bd766 bootloader: add no_flash_boot config option to force network boot 2019-11-05 15:31:08 +08:00
5362f92b39 bootloader: disable minimum stack space check in linker script
* The value varies greatly whether netboot is enabled or not.
* There is no simple solution to detect has_ethmac in the linker script and set the value accordingly.
* The space check is an imperfect solution that will be superseded by stack pointer limits.
* Left commented out so we can re-enable it manually during development if stack corruption is suspected.
2019-11-01 10:25:14 +08:00
deadfead2a bootloader: fix !has_ethmac 2019-11-01 10:19:08 +08:00
a78e493b72 firmware: load slave FPGA in bootloader 2019-10-31 12:42:40 +08:00
bc050fdeec bootloader: treat zero-length firmware in flash as no firmware 2019-10-30 21:46:06 +08:00
462cf5967e bootloader: add netboot support 2019-10-30 21:23:42 +08:00
818d6b2f5a bootloader: fix compilation problems 2019-10-21 13:28:17 +08:00
8f76a3218e firmware: move i2c to libboard_misoc, enable IPv6 in bootloader, share network settings 2019-10-21 12:58:52 +08:00
390f05f762 firmware: use smoltcp release 2019-01-23 16:15:05 +08:00
d6a3172a3e update copyright year 2019-01-03 20:21:34 +08:00
whitequark
0e7419450e firmware: update smoltcp.
This adds TCP window scaling support.
2018-08-20 00:26:40 +00:00
whitequark
bdd18de2c1 firmware: globally enable LTO.
This used to crash with earlier rustc versions, but doesn't anymore,
and gives significant speedup (e.g. 2x on test_dma_record_time).
2018-08-12 19:17:45 +00:00
whitequark
2648b1b7a1 firmware: migrate to Rust 1.28.0.
This also updates / is a prerequisite for updating smoltcp.

Rationale for changes made:
  * compiler_builtins is now shipped in the rust prefix.
  * rustc's libpanic_unwind no longer works for us because it
    has a hard dependency on Box (and it's a horrible hack);
    fortunately, we only ever needed a personality function
    from it.
  * panic and oom handlers are now set in a completely different
    way.
  * allocators are quite different (and finally stable).
  * NLL caused internal compiler errors in runtime, so code using
    NLL was rewritten to not rely on it and it was turned off.
2018-08-12 19:17:45 +00:00
84b3d9ecc6 bootloader: also check firmware CRC in SDRAM (#1065) 2018-06-23 11:28:12 +08:00
whitequark
b54926134c firmware: update the signature of #[lang="panic_fmt"]. 2018-05-15 15:05:19 +00:00
whitequark
02b8426f60 firmware: rename libboard to libboard_misoc.
By analogy with libbuild_misoc. Hopefully one day it actually gets
moved to misoc...
2018-05-14 18:09:44 +00:00
495625b99d bootloader: repeat memory test 4 times 2018-03-20 09:57:49 +00:00
999ec40e79 bootloader: print gateware ident 2018-03-13 00:11:25 +08:00
2caeea6f25 update copyright year 2018-03-13 00:09:13 +08:00
whitequark
807eb1155b Update smoltcp.
Fixes #902.
2018-01-30 03:29:08 +00:00
whitequark
80cbef0031 firmware: always reset PHY when initializing Ethernet.
Fixes #897.
2018-01-19 04:56:11 +00:00
whitequark
267c699835 firmware: support DDRPHY without write leveling (fixes #886).
Currently, this is kasli.
2018-01-09 02:41:02 +00:00
whitequark
07ccb9eebd firmware: support configuration without ethphy (#886).
Currently, this is kasli.
2018-01-08 22:16:17 +00:00
whitequark
3a3f44af53 firmware: update smoltcp. 2018-01-08 21:41:53 +00:00
whitequark
fc9766d2fa firmware: reset ethphy before initializing smoltcp (fixes #884). 2018-01-04 11:42:35 +00:00