Files
jsix/src/libraries/j6/j6.module
Justin C. Miller 40130076b2 [uart] Fix UART driver hangs
The UART driver would constantly hang in unpredictable spots. Turns out
it could get into a situation where it was stuck in a loop unable to
read more from the receive channel, and/or write to the serial port
buffer. Now we use a ring buffer to read as much as possible from the
receive channel, write as much as possible to the serial port buffer,
and move on without looping.
2024-03-04 19:48:16 -08:00

63 lines
1.4 KiB
Python

# vim: ft=python
j6 = module("j6",
kind = "lib",
deps = [ "util" ],
sources = [
"channel.cpp",
"condition.cpp",
"init.cpp",
"memutils.cpp",
"memutils.s",
"mutex.cpp",
"protocol_ids.cpp",
"protocols/service_locator.cpp",
"protocols/vfs.cpp",
"ring_buffer.cpp",
"syscalls.s.cog",
"sysconf.cpp.cog",
"syslog.cpp",
],
public_headers = [
"j6/cap_flags.h.cog",
"j6/channel.hh",
"j6/condition.hh",
"j6/errors.h",
"j6/flags.h",
"j6/init.h",
"j6/mutex.hh",
"j6/memutils.h",
"j6/protocols.h",
"j6/protocols/service_locator.h",
"j6/protocols/service_locator.hh",
"j6/ring_buffer.hh",
"j6/syscalls.h.cog",
"j6/sysconf.h.cog",
"j6/syslog.hh",
"j6/thread.hh",
"j6/types.h",
"j6/tables/log_areas.inc",
"j6/tables/object_types.inc",
"j6/tables/syscalls.inc",
"j6/tables/vm_flags.inc",
])
from glob import glob
from os.path import join
sysconf = join(source_root, "definitions/sysconf.yaml")
definitions = glob('definitions/**/*.def', recursive=True)
j6.add_depends([
"j6/cap_flags.h.cog",
"j6/syscalls.h.cog",
"syscalls.s.cog",
], definitions)
j6.add_depends([
"j6/sysconf.h.cog",
"sysconf.cpp.cog",
], [sysconf])