deadprogram
5db83f11df
machine/flash: refactor to keep use of pure offset relative to start
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-03-12 23:53:59 +01:00
deadprogram
60366adfa8
machine/rp2040: implement Flash interface
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-03-12 23:53:59 +01:00
Kenneth Bell
faa449a9e1
arm: enable functions in RAM for go & cgo
2023-03-12 23:53:59 +01:00
sago35
08cf2b25c5
machine/rp2040: change uart to allow for a single pin
2023-03-12 13:41:29 +01:00
sago35
d6103222f7
wioterminal: fix pin definition of BCM13
2023-03-12 10:52:15 +01:00
Damian Gryski
69e5c5088d
reflect: add support for remaining map types
2023-03-10 16:28:22 -08:00
Damian Gryski
a6084767b3
syscall: remove misleading comment about Stat_t fields
2023-03-10 15:01:48 -08:00
Damian Gryski
cf4a6d3253
syscall: add Timespec.Unix() for wasi.
...
This allows archive/tar to build (but not yet pass).
2023-03-10 15:01:48 -08:00
Damian Gryski
4716298044
os,syscall: Stat_t timespec fields are Atimespec on darwin
...
This allows archive/tar to build and pass.
2023-03-10 15:01:48 -08:00
Justin A. Wilson
7706c41bf6
Added missing TCPAddr and UDPAddr implementations to the net package
2023-03-10 10:11:32 -08:00
deadprogram
0bc19735f3
machine/samd51: disable/restore Flash cache on write/erase
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-03-09 06:42:41 +01:00
deadprogram
51c1579c3d
machine/samd51: implement Flash interface
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-03-09 06:42:41 +01:00
Damian Gryski
6a45b73fcb
compiler, reflect: replace package and name length with null-byte termination
2023-03-08 09:38:49 -08:00
Damian Gryski
2de64d3f4e
compiler, reflect: add Type.PkgPath
2023-03-08 09:38:49 -08:00
Damian Gryski
2a821d2a66
reflect: improve Value.String()
2023-03-08 09:38:49 -08:00
Damian Gryski
90af41d089
reflect: add Type.String()
2023-03-08 09:38:49 -08:00
Damian Gryski
7654d86d2c
compiler, reflect: add support for named types
2023-03-08 09:38:49 -08:00
sago35
45f119de34
machine/atsamd51: remove extra BK0RDY clear
2023-03-08 09:40:01 +01:00
Ron Evans
fc28f513c7
machine/samd21: implement Flash interface ( #3496 )
...
machine/samd21: implement Flash interface
2023-03-08 06:06:49 +01:00
sago35
7ca45d61fc
machine/rp2040: correct issue with spi pin validation
2023-03-07 21:11:57 +09:00
Christian Stewart
930255ff46
os: add IsTimeout function
...
Fixes build error: undefined: os.IsTimeout
Signed-off-by: Christian Stewart <christian@paral.in>
2023-03-05 22:24:36 +01:00
Justin A. Wilson
313c9e31dd
Refactor EnableInterrupts and DisableInterrupts
...
Removes usage of AsmFull which required an optimization pass to remove the map parameter passed into it. This caused issues when compiling with -opt=0 where memory for the map was being allocated as an unintended side-effect of using AsmFull with no optimizations enabled.
2023-03-05 17:34:48 +01:00
Damian Gryski
f9b6f8339b
reflect: ensure all ValueError panics have Kind fields
2023-03-03 10:18:32 -08:00
Damian Gryski
0ff243e5e2
reflect: add OverflowFloat(), OverflowInt(), OverflowUint()
2023-03-03 10:18:32 -08:00
Damian Gryski
79930a209c
reflect: add Addr()
2023-03-03 10:18:32 -08:00
Damian Gryski
bbc79ee40a
reflect: add Zero()
2023-03-03 10:18:32 -08:00
Damian Gryski
960a0b79bf
reflect: add SetLen()
2023-03-03 10:18:32 -08:00
Damian Gryski
e4ef6f85ac
reflect: allow nil rawType to call Kind()
2023-03-03 10:18:32 -08:00
Damian Gryski
3a3de8a778
reflect: add pointerTo()
2023-03-03 10:18:32 -08:00
Ayke van Laethem
4ec1e58aa6
all: use unsafe.Add instead of unsafe.Pointer(uintptr(...) + ...)
...
We have an optimization for this specific pattern, but it's really just
a hack. With the addition of unsafe.Add in Go 1.17 we can directly
specify the intent instead and eventually remove this special case.
The code is also easier to read.
2023-03-03 16:55:13 +01:00
Damian Gryski
d98c0afbab
reflect: add Bytes()
2023-03-03 05:21:02 -08:00
Damian Gryski
12e3d1d81d
reflect: add Copy()
2023-03-03 05:21:02 -08:00
Damian Gryski
a7e3cf0826
reflect: add Slice3()
2023-03-03 05:21:02 -08:00
Damian Gryski
43a4b256bd
reflect: add Slice()
2023-03-03 05:21:02 -08:00
Damian Gryski
5cc5f11b58
reflect: add MakeSlice()
2023-03-03 05:21:02 -08:00
Damian Gryski
836689fdd2
reflect: add Append()
2023-03-03 05:21:02 -08:00
Damian Gryski
9b86080c80
runtime: add sliceGrow function for reflect
2023-03-03 05:21:02 -08:00
Damian Gryski
1cce1ea423
reflect: uncomment some DeepEqual tests that now pass
2023-02-28 13:10:40 -08:00
Damian Gryski
a2bb1d3805
reflect: add MapKeys()
2023-02-28 13:10:40 -08:00
Damian Gryski
c4dadbaaab
reflect: add MakeMap()
2023-02-28 13:10:40 -08:00
Damian Gryski
828c3169ab
reflect: add SetMapIndex()
2023-02-28 13:10:40 -08:00
Damian Gryski
f6ee470eda
reflect: add MapRange/MapIter
2023-02-28 13:10:40 -08:00
Damian Gryski
d0f4702f8b
reflect: add MapIndex()
2023-02-28 13:10:40 -08:00
Damian Gryski
c0a50e9b47
runtime: add unsafe.pointer reflect wrappers for hashmap calls
2023-02-28 13:10:40 -08:00
Damian Gryski
9541525402
reflect: add Type.Elem() and Type.Key() for Maps
2023-02-28 13:10:40 -08:00
Damian Gryski
60a93e8e2d
compiler, reflect: add map key and element type info
2023-02-28 13:10:40 -08:00
deadprogram
74160c0e32
runtime/atsamd51: enable CMCC cache for greatly improved performance on SAMD51
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-02-27 20:40:41 +01:00
Ron Evans
6e1b8a54aa
machine/stm32, nrf: flash API ( #3472 )
...
machine/stm32, nrf: implement machine.Flash
Implements the machine.Flash interface using the same definition as the tinyfs BlockDevice.
This implementation covers the stm32f4, stm32l4, stm32wlx, nrf51, nrf52, and nrf528xx processors.
2023-02-27 13:55:38 +01:00
Ayke van Laethem
8bf94b9231
internal/task: disallow blocking inside an interrupt
...
Blocking inside an interrupt is always unsafe and will lead to all kinds
of bad behavior (even if it might appear to work sometimes). So disallow
it, just like allocating heap memory inside an interrupt is not allowed.
I suspect this will usually be caused by channel sends, like this:
ch <- someValue
The easy workaround is to make it a non-blocking send instead:
select {
case ch <- someValue:
default:
}
This does mean the application might become a bit more complex to be
able to deal with this case, but the alternative (undefined behavior) is
IMHO much worse.
2023-02-26 22:42:24 +01:00
Damian Gryski
7b44fcd865
runtime: properly turn pointer into empty interface when hashing
2023-02-25 06:42:30 -08:00