Vladimir Serbinenko
1895c3806b
Add support for device-tree-based drivers.
2020-09-21 11:32:45 -04:00
Vladimir Serbinenko
ca028db3d4
usbtrans: Fix memory coherence and use-after-free.
2016-02-27 13:40:52 +01:00
Vladimir Serbinenko
0f076d75d0
ehci: Fix memory coherence
...
This is a no-op on x86 but necessarry on ARM and may be necessarry on MIPS.
2016-02-27 13:40:52 +01:00
Vladimir Serbinenko
054d1325e9
Improve EHCI logging
...
Add dprintf's on common error paths and remove some entries which are too
noisy.
2016-02-22 20:07:10 +01:00
Colin Watson
95440b41d3
ahci, ehci: Fix typos
2016-01-16 20:37:15 +00:00
Andrei Borzenkov
47490ada3d
ohci: fix memory leak
...
Found by: Coverity scan.
CID: 96679
2015-06-20 23:38:19 +03:00
Andrei Borzenkov
cf0b0306d8
usb: fix use after free
...
Found by: Coverity scan.
CID: 96704
2015-06-20 23:38:18 +03:00
Andrei Borzenkov
5082ea6184
remove extra newlines in grub_util_* strings
...
grub_util_{info,warn,error} already add trailing newlines, so remove
them from format strings. Also trailing full stops are already added.
2015-05-13 09:47:17 +03:00
Vladimir Serbinenko
27d1a67f8a
Fix canonicalize_file_name clash.
...
canonicalize_file_name clashed with gnulib function. Additionally
it was declared in 2 places: emu/misc.h and util/misc.h. Added
grub_ prefix and removed second declaration.
2015-03-04 01:00:19 +01:00
Vladimir Serbinenko
9d25b0da9a
Remove emu libusb support.
...
It's disabled by default and has been broken for a long time.
As nobody is interested in fixing and maintaining it, remove it.
2015-03-03 20:59:36 +01:00
Vladimir Serbinenko
9ff9d5a54e
uhci: Fix null pointer dereference.
...
Found by: Coverity scan.
2015-01-24 20:38:12 +01:00
Vladimir Serbinenko
30e177a05b
grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past the end of file.
2015-01-21 17:42:06 +01:00
Andrey Borzenkov
954fe77163
cleanup: grub_cpu_to_XXX_compile_time for constants
...
This tries to catch all cases where grub_cpu_to_XXX was used for constant
expressions (including sizeof).
2014-09-22 20:47:10 +04:00
Aleš Nesrsta
e3ef0d30cf
* grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
...
Avoid confusing them with already completed transfers.
2013-12-18 18:59:49 +01:00
Vladimir Serbinenko
fd4650a556
Add bonito 3A support.
2013-12-17 22:49:27 +01:00
Vladimir Serbinenko
7e47e27bd8
Add gcc_struct to all packed structures when compiling with mingw.
...
Just "packed" doesn't always pack the way we expect.
2013-12-15 14:14:30 +01:00
Vladimir Serbinenko
1e4b358720
Add PCI command activation to all PCI drivers as required for coreboot
...
and maybe some other firmwares.
2013-11-26 14:21:11 +01:00
Vladimir Serbinenko
6f1bc8bc0f
On i386-ieee1275 we run in paged mode. So we need to explicitly map
...
the devices before accessing them.
2013-11-18 04:32:33 +01:00
Vladimir Serbinenko
9f8acdaa5d
* grub-core/term/serial.c: Add option for enabling/disabling
...
RTS/CTS flow control.
2013-11-08 18:20:20 +01:00
Vladimir Serbinenko
3f63b4d89f
* grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
...
type.
(grub_ehci_fini_hw): Likewise.
* grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2013-11-07 00:45:15 +01:00
Vladimir Serbinenko
dac6ce73be
* include/grub/usb.h (grub_usb_controller_dev): Make portstatus
...
return grub_usb_err_t for cosistency. All users updated.
2013-11-07 00:35:56 +01:00
starous@volny.cz
7c680e1f17
USB EHCI: SMI disabled in all cases
2013-09-23 20:30:52 +02:00
Melki Christian
d755342abe
* grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
...
"changed".
2013-09-23 14:39:13 +02:00
starous@volny.cz
306950e137
USB EHCI QH handling patch
2013-09-21 15:39:51 +02:00
Melki Christian
897c3bc634
* grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
...
to break endless loop.
2013-09-18 13:27:05 +02:00
Vladimir 'phcoder' Serbinenko
efa8640adb
* grub-core/bus/usb/usbhub.c: Fix recheck logic.
2013-07-11 14:52:46 +02:00
Vladimir 'phcoder' Serbinenko
96f33fed86
Make PCI init in i386-qemu port more robust.
2013-04-29 15:09:39 +02:00
Vladimir 'phcoder' Serbinenko
e2f27a8c53
Enforce disabling of firmware disk drivers when native drivers kick in.
2013-04-29 12:16:46 +02:00
Vladimir 'phcoder' Serbinenko
f7bf6c31f3
* grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
...
platforms.
2013-04-29 12:05:19 +02:00
Vladimir 'phcoder' Serbinenko
d70dbab77a
* grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
...
much we can do about it anyway.
2013-04-12 20:51:11 +02:00
Aleš Nesrsta
51a4c3e3b0
Fix handling of split transfers.
2013-04-12 20:42:46 +02:00
Vladimir 'phcoder' Serbinenko
2cd5ce6cdb
* grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
...
Init err.
2013-04-04 08:56:45 +02:00
Vladimir 'phcoder' Serbinenko
8fe05def12
Slight improve in USB-related boot-time checkpoints.
2013-03-20 17:21:13 +01:00
Vladimir 'phcoder' Serbinenko
ef8810e9f3
Fix a conflict between ports structures with 2 controllers of
...
same kind.
2013-03-20 17:07:08 +01:00
Vladimir 'phcoder' Serbinenko
f6df57d216
Initialize USB ports in parallel to speed-up boot.
2013-03-19 23:06:44 +01:00
Vladimir 'phcoder' Serbinenko
d745dda77e
Fix USB devices not being detected when requested
...
due to delayed attach.
2013-03-19 20:35:21 +01:00
Vladimir 'phcoder' Serbinenko
e744219bb6
Implement boot time analysis framework.
2013-03-19 20:25:09 +01:00
Vladimir 'phcoder' Serbinenko
e5a2dd7b55
remove get_endpoint_descriptor and change all functions needing
...
descriptor to just receive it as argument rather than endpoint
address.
2013-03-19 11:19:36 +01:00
Vladimir 'phcoder' Serbinenko
5dd6f58789
Better estimate the maximum USB transfer size.
2013-03-19 08:17:51 +01:00
Vladimir 'phcoder' Serbinenko
66a93674b2
Implement USBDebug (full USB stack variant).
2013-02-01 21:49:29 +01:00
Vladimir 'phcoder' Serbinenko
cfe1288b8d
* grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
...
grub_print_error.
2013-02-01 21:43:49 +01:00
Vladimir 'phcoder' Serbinenko
e42b99698c
* grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
...
zero-out of port structure.
2013-02-01 21:32:17 +01:00
Colin Watson
5fdbaed168
Remove nested functions from USB iterators.
...
* include/grub/usb.h (grub_usb_iterate_hook_t): New type.
(grub_usb_controller_iterate_hook_t): Likewise.
(grub_usb_iterate): Add hook_data argument.
(grub_usb_controller_iterate): Likewise.
(struct grub_usb_controller_dev.iterate): Likewise.
Update all implementations and callers.
2013-01-21 21:02:24 +00:00
Vladimir 'phcoder' Serbinenko
b879aa7b47
Split long USB transfers into short ones.
2013-01-20 22:45:53 +01:00
Colin Watson
ca3a74469a
Remove nested functions from PCI iterators.
...
* grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
passed to hook. Update all callers to pass appropriate hook data.
* grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
* include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
Remove NESTED_FUNC_ATTR from here and from all users.
(grub_pci_iterate): Update prototype.
* grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
instead of nested. Rename to ...
(grub_cs5536_find_iter): ... this.
* grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
* grub-core/kern/mips/loongson/init.c (init_pci: set_card):
Likewise.
* grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
Likewise.
* grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
Likewise.
* grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
Likewise.
* grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
* grub-core/video/radeon_fuloong2e.c
(grub_video_radeon_fuloong2e_setup: find_card): Likewise.
* grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
find_card): Likewise.
* grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
Likewise.
2013-01-13 01:10:41 +00:00
Colin Watson
33a68ac643
* grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
...
__attribute__ ((unused)).
* grub-core/video/bochs.c (find_card): Likewise.
* grub-core/video/cirrus.c (find_card): Likewise.
* grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
* grub-core/video/sis315pro.c (find_card): Likewise.
* grub-core/video/sm712.c (find_card): Likewise.
2012-12-30 09:57:58 +00:00
starous
39b27f1eaf
EHCI and OHCI PCI bus master
2012-07-22 21:09:30 +02:00
Vladimir 'phcoder' Serbinenko
70aaf3053a
Speed-up video on fuloong.
...
* grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
New function.
(grub_pci_device_unmap_range): Handle non-cached address.
* grub-core/video/sis315pro.c (framebuffer): Remove render_target and
add direct_ptr.
(grub_video_sis315pro_video_fini): Unmap direct_ptr.
(grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
(grub_video_sis315pro_set_active_render_target): Removed.
(grub_video_sis315pro_get_info_and_fini): Use uncached address.
(grub_video_adapter): Use grub_video_fb_set_active_render_target.
(grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
sync caches.
* include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
New proto.
2012-06-17 01:09:32 +02:00
Vladimir 'phcoder' Serbinenko
c8ca585593
* grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
...
(ftdi_hw_configure): Likewise.
* grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
define.
(real_config): Handle 1.5 stop bits.
(pl2303_hw_configure): Likewise.
2012-06-08 20:40:40 +02:00
Christer Weinigel
bda36bfa77
Fix EHCI low-speed.
...
* grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
(GRUB_EHCI_MULT_TWO): Likewise.
(GRUB_EHCI_MULT_THREE): Likewise.
(GRUB_EHCI_CMASK_MASK): New enum value.
(GRUB_EHCI_SMASK_MASK): Likewise.
(GRUB_EHCI_CMASK_OFF): Likewise.
(GRUB_EHCI_SMASK_OFF): Likewise.
(grub_ehci_pci_iter): Enable periodic schedule.
(grub_ehci_parse_notrun): Likewise.
(grub_ehci_restore_hw): Likewise.
(grub_ehci_setup_qh): Set flags for low speed transfers.
(grub_ehci_find_qh): Use periodic list for low speed.
(grub_ehci_setup_transfer): Check periodic queue as well.
(grub_ehci_check_transfer): Likewise.
(grub_ehci_cancel_transfer): Cancel periodic transfer.
2012-05-31 14:02:46 +02:00