Commit Graph

168 Commits

Author SHA1 Message Date
Travis Geiselbrecht
0ec24d0b29 [dev][virtio] add no kernel VM workaround
Also add stride to the mmio detect routine. Not all virtio apertures are
tightly packed as they are on arm.
2020-01-19 16:15:58 -08:00
Travis Geiselbrecht
6cb02526b7 [include][console] split lib/console.h into two
TL;DR most uses of lib/console.h -> lk/console_cmd.h

Move the part that lets a piece of code somewhere in the system to
define a console command from the actual lib/console api to start an
instance of the console. Move in almost every place the user of the
console command definition to the new header, lk/console_cmd.h which is
always in the include path.

Also remove most uses of testing for WITH_LIB_CONSOLE since you can
almost always just safely define it and then let the linker remove it.
2019-07-13 16:56:33 -07:00
Travis Geiselbrecht
35a8d555a3 [include] move almost all of the remainder of top level includes into a subdir
Examples are include/platform.h -> platform/include/platform.h
include/target.h -> target/include/target.h

The old model generally considered these to be Always There includes,
but they're starting to stick out more and more so may as well actually
follow the model that most of the rest of the system follows.
2019-07-13 16:09:27 -07:00
Travis Geiselbrecht
cba9e47987 [license] replace the longer full MIT license with a shorter one
Used scripts/replacelic. Everything seems to build fine.
2019-07-05 17:22:23 -07:00
Travis Geiselbrecht
d8fa82cb91 [formatting] run everything through codestyle
Almost nothing changes here except moving braces to the same line as the
function declaration. Everything else is largely whitespace changes and
a few dangling files with tab indents.

See scripts/codestyle
2019-06-19 21:02:24 -07:00
Travis Geiselbrecht
1b7a28efb8 [include][lk] fixup lk/ include path move 2019-06-19 19:46:11 -07:00
Travis Geiselbrecht
4c29a608e9 [platform][pc] fix up bios32 PCI support, get pci IDE working again
-Spiff up the device driver starting logic to allow for statically
started devices, instead of always automatic.
2018-12-31 16:47:32 -08:00
Travis Geiselbrecht
1fbb67228d [platform][pc] get working on legacy 386 PC
-Add support for x86 legacy mode, designed for 386+ instead of pentium+
-Fixup uart driver to support com2
-Stub out PCI driver properly
-Fixup IDE driver to detect legacy disks
2018-12-30 21:08:58 -08:00
Payam
6e05388579 [vim2] Initial support for Khadas VIM2 boards 2018-03-16 15:05:10 -07:00
Erik Gilling
660c4ab08c [cdcconsole] Add TX buffering. 2018-01-30 20:34:34 -08:00
Erik Gilling
019d262d87 [cdcserial] Add async API. 2018-01-22 23:33:35 -08:00
Erik Gilling
cc60328989 [cdcserial] Refactor driver to support multiple channels. 2018-01-22 23:33:35 -08:00
Girts Folkmanis
a74d56b9a2 [dev/gpio_i2c] add optional pullups
If GPIO_I2C_PULLUPS == 1, enables pullups when not actively
driving I2C lines low.
2016-09-30 10:36:57 -07:00
klemens
d0b90c2d68 [spelling] spelling-fixes. (not external/) 2016-08-25 17:30:34 -07:00
cstout
0f0b4959ad Stub display_present
R=gkalsi@google.com

Review URL: https://codereview.chromium.org/1951403002 .
2016-05-05 12:54:06 -07:00
Gurjant Kalsi
ce0a3db705 [cdcserial][usb] Add a CDC-Serial USB Class Driver. 2016-04-18 17:03:04 -07:00
Gurjant Kalsi
1fa7f2c977 [usb] Allow client code to specify USB endpoint type. 2016-03-28 21:21:21 -07:00
cstout
c1255f7f47 [display] Refactor to avoid implicit framebuffer allocation.
Preparation to allow other images to be presented to the display.
Separate definitions of display and image formats.
display_get_info no longer provides a framebuffer.
display_get_framebuffer allocates a framebuffer for convenience.

Review URL: https://codereview.chromium.org/1777783003 .
2016-03-10 09:49:22 -08:00
Travis Geiselbrecht
a4ca0a6e00 [vmm] move most users of arch_mmu_query directly to vaddr_to_paddr() 2016-02-14 12:45:53 -08:00
Travis Geiselbrecht
d569c090ea [vim] remove vim expandtab comments on most of the files 2016-02-14 12:32:07 -08:00
Travis Geiselbrecht
2eb32a4369 [style] mass reformat all the non external code to 4 space indents
Ran everything through scripts/codestyle.space, which uses astyle
to generally follow K&R style.

Biggest non whitespace change is pulling brackets down on function
declarations, which I'm pretty ambivalent about, but astyle insists
on taking a stance
2016-02-14 12:24:01 -08:00
Travis Geiselbrecht
e35c51576c [dev][pmic][twl4030] old pmic driver used by the omap3 platform 2016-02-14 11:47:54 -08:00
Travis Geiselbrecht
1da5eba728 [dev][usb] add bulktest class driver
A simple test driver that just acts as a bulk transfer source and sink.
2016-02-08 19:53:03 -08:00
Travis Geiselbrecht
4ab14424bd [cppcheck] clean up a few suggestions from cppcheck 2015-11-24 15:08:38 -08:00
Travis Geiselbrecht
902ca64791 [dev][usb] allow anyone to register for callback events from the usb stack 2015-11-19 15:07:58 -08:00
Travis Geiselbrecht
b83c233f4d [dev][usb] reformat usb device stack to spaces 2015-11-19 14:51:51 -08:00
Travis Geiselbrecht
491e47fbc6 [linker] align special sections on native pointer bounary
This fixes a bug in x86-64 where it was trying to default align
input sections on 16 byte boundaries, which was screwing up the
padding between structures.
2015-11-06 12:00:04 -08:00
Gurjant Kalsi
3ec7c378c8 [virtio] Virtio read/write block return 0 on success instead of number of bytes transferred 2015-11-05 11:00:53 -08:00
Gurjant Kalsi
7e0a4d3f90 [bio] Add a flag that allows devices to declare that they only deal with cache aligned blocks of memory 2015-11-04 17:18:15 -08:00
Travis Geiselbrecht
c2a28f8c39 [dev][virtio] fix warning in virtio-block code 2015-10-28 11:04:39 -07:00
Travis Geiselbrecht
114a350e55 [linker] align all the special sections on 8 byte boundaries, remove x86-64 hack
A bit overkill for 32bit machines, but aligning all the special data structures
on 8 byte boundaries removes any special case for 64bit machines.
2015-10-26 17:01:34 -07:00
Travis Geiselbrecht
0e1ce411ba [make] add ability to set EXTRA_LINKER_SCRIPTS in modules
This allows for individual modules to extend the main linker script,
primarily to add their own sections to interate over.
Remove the main shared_* linker scripts.
2015-10-26 16:47:18 -07:00
Travis Geiselbrecht
3b2d7a268b [make] remove the need for a module to manually add $(LOCAL_DIR)/include to the global include path
Pretty much every module in the system was already doing it, so do it
automatically.
2015-10-19 19:07:16 -07:00
Travis Geiselbrecht
4e0b62745c [dev][virtio-gpu] fail if cannot allocate enough memory for framebuffer
Also print framebuffer location and size.
2015-10-16 16:09:08 -07:00
Travis Geiselbrecht
8834b12f97 [dev][net][pcnet] break pcnet driver out of pc plaform into its own dir 2015-10-11 12:04:44 -07:00
Travis Geiselbrecht
c7ce0b9361 [lib][display] update display_get_info to return success/failure
Update all the users to check for error.
2015-10-08 15:54:40 -07:00
Travis Geiselbrecht
555f16c5c7 [dev][virtio][gpu] add default implementation of virtio-gpu driver
Exports a simple single buffered framebuffer.
2015-10-07 15:44:00 -07:00
Travis Geiselbrecht
c17ed4295b [dev][virtio][block] handle scatter gathered reads/writes 2015-09-21 20:21:16 -07:00
M1cha
8e0afb2b5e [arch][or1k] get working after SMP changes 2015-09-20 18:20:22 -07:00
Travis Geiselbrecht
caec70a21b [dev][arm_gic] fix warning in arm64 by adding arm/arm64 specific iframe code
It's all in service of a LTRACEF, but it's one I use commonly enough to debug
stuff that it's probably worth it. No actual overhead, except what's already
in the first level handlers.
2015-09-20 14:05:31 -07:00
Travis Geiselbrecht
215b5ed07f [64bit] fix a few more 64bit warnings in newer code 2015-09-20 13:11:51 -07:00
Travis Geiselbrecht
cff470ffdd [dev][virtio][net] update to new pktbuf structure 2015-09-16 19:41:11 -07:00
Gurjant Kalsi
a6c8b005db [console] Use STATIC_COMMAND macro for all console command definitions
BUG=

Review URL: https://codereview.chromium.org/1348403002 .
2015-09-16 15:37:33 -07:00
Travis Geiselbrecht
ba3d7ce316 [dev][virtio] remove arm specific header 2015-09-11 17:41:29 -07:00
Travis Geiselbrecht
3d31579fe0 [dev][virtio][net] dump feature bits on detection 2015-09-10 13:59:56 -07:00
Travis Geiselbrecht
ddb7e7f72f [dev][virtio][net] avoid copy in send path, deal with rx size violations better 2015-09-10 13:43:35 -07:00
Travis Geiselbrecht
193a57d5d5 [dev][virtio][net] add working implementation of a virtio network interface
-Not optimized yet, but should be pretty complete. Tested against qemu.
-Add switches to qemu script to allow running with a tap interface.
-Enable minip by default on vexpress-a9 platform
2015-09-09 15:41:32 -07:00
Travis Geiselbrecht
e0bca35bd3 [dev][virtio] handle multiple rings (up to 4 currently) per device 2015-09-08 17:59:10 -07:00
Travis Geiselbrecht
579b3314e7 [virtio][block] get the virtio block device driver fully working
Wire up to the bio layer properly.
2015-09-08 16:15:01 -07:00
Travis Geiselbrecht
586fe3d831 [include][trace] move LTRACEF_LEVEL out of timer code into generic header
Seems useful enough.
2015-06-02 21:11:51 -07:00