. turns on mmap() functionality for files by default
. also causes exec() to use it to map in executables
without copying and with sharing those pages with the
disk cache and other instances of the executable
Change-Id: Idb94dfe110eed916cf83b12c45e1a77241a2cee5
As they can come anytime upon receipt of interrupt by the ethernet driver. This
is the same thing as is done for CONF replies.
A simple test case would be the following via ssh connection:
while getaddr; do :; done
Change-Id: I68f4403360b3eefe67fc602c4855ca1abd649475
According to the virtio specifications, the host present the supported
features to the guest, and the guest should answer woth the features it
supports. This allows the host to disable support for features that the
guest is not going to use.
Minix tells to the host it doesn't support any extended features, while
it uses at least VIRTIO_NET_F_MAC and VIRTIO_NET_F_CTRL_VQ. For the
latter it seems it only allocate the queue while not using it later.
However starting with QEMU 1.4.0, with multiqueue support added, the
control queue is not allocated on the host side if the guest doesn't
tell it supports this feature. This cause virtio-net to crash on the
Minix side.
This patch fixes that by correctly telling the features that are
used by the Minix guest for more than printing a debug message. This
fixes virtio-net on QEMU 1.4.x.
Change-Id: I8bbf757c09d24e0f5fe5835531a1c9203b714bd7
* port libgpio to am335x.
* increase NR_IRQ to 16 to avoid too many IRQs requested error.
* move gpio binary to /sbin (that's where mount looks for drivers).
* fix bug that re-enabled banks that were disabled due to bad revision.
* fix padconf masks for dm37xx in gpio driver (should be 16-bit).
* fix a few typos in README.txt and comments.
Change-Id: I32374415a97135174c5224f76374a870909fa90c
. 'fixes' warnings that are in these headers, but normally aren't
emited as they're system headers
Change-Id: Ibd20343eae51770cef71116bbda0d9141441ec54
padconf is specific to arm, so it's being moved to kernel/arch/earm.
Add a test case to ensure the proper error is returned on non-ARM
systems.
Change-Id: I07ebbe64825d59bc0ef9c818d3d54891dafb4419
On the AM335X, writes to the padconf registers must be done in privileged
mode. To allow userspace drivers to dynamically change the padconf at
runtime, a kernel call has been added.
Change-Id: I4b25d2879399b1785a360912faa0e90b5c258533
The BeagleBone Weather cape enhances the BeagleBone's capabilities
by providing environment sensors (temperature, humidity, pressure,
and ambient light level).
The weatherstation demo is a port of the bonescript weatherstation
to Minix. It provides a nice visual display of the sensor data in
a web browser.
The code is installed to /usr/share/beaglebone/weather on 'earm'
and an embedded web server is started at boot time on port 80
when the cape is attached. Further details are provided in the
README.txt file.
Change-Id: I1596a2b66b213762ace26c0c750c8154c76b5c6e
. solution for "warning: visibility attribute not supported in
this configuration"
. needed to make warnings fatal, -Werror
Change-Id: If972300a82df570093f2d89825935483ff69fb18
BeagleBone Capes add additional hardware to the BeagleBone to
improve functionality.
This patch probes the third i2c bus for capes and loads the
appropriate drivers for each detected cape. Currently only
the 'BeagleBone Weather' cape is supported.
Change-Id: Id8c133810db6de7c21625c2d5a794b8874673a0f
Capes (i.e. expansion boards for the BeagleBone and BeagleBone Black)
each have their own cat24c256 EEPROM with information about the cape
such as the name of the cape, pins used, power requirements, etc.
This patch adds support for displaying the cape data fields. It
can be used in shell scripts to detect and identify attached capes.
Change-Id: I4bfa7aae634a7bacfa5e25afcba773d9fbc2316c
Previously, PFS would incorrectly try to unsuspend the parent (i.e.,
the listening socket), resulting in the child hanging until the other
side performed another action. Test56 started failing on this now.
Change-Id: I231ac5481c83ac45951d33aeecc8149273f48b11
Apparently, qemu's sb16 doesn't reset the interrupt register
of the mixer and the driver ends up in an endless loop when
playing a "multi-fragment" sample.
Change-Id: I47633b99a0d79ba201aec785da69fb3950e026bf
Righ now, the DMA controller will access some random memory below 16 MB,
as the physical address returned by alloc_contig() is simply truncated
when given to the DMA controller.
Yes, it's bad...
. this is OK (although it wastes some memory) as
long as the VM interface isn't used, which has its
own checks in libsys
Change-Id: I28decd367b2cd5c01482bdc71615c65ab61c9a71
for clang, fix warnings in drivers/, lib/, servers/, sys/, common/.
by turning off fatal warnings (takes effect if the default is on),
fixing warnings or reducing the warning level.
Change-Id: Ia1b4bc877c879ba783158081b59aa6ebb021a50f
. added enable interrupts routine at the HW init stage
. remove workaround, obsoleted by libnetdriver change
. change netconf.sh to allow configuring this driver,
changed README.txt to reflect this
Change-Id: Ib659d5a55be96022b5e9013caa556dca5092ce89
To map kernel we use 1M sections therefore we should use
ARM_VM_SECTION_MASK to determine base address.
Change-Id: I0b97fe459f2325d702aad9b7b1e8e066d9721b87
Previously, all incoming messages would be blocked before a DL_CONF
message arrives from the TCP/IP stack. This however makes it impossible
for a driver to process interrupts before the DL_CONF initialization.
This patch blocks only datalink messages before the initial DL_CONF,
and lets through all other messages to the driver.
Change-Id: I89988958c0bff9bb38e0379b66f6142491a67b61
An fprintf() has two %s formats but only one additional argument.
Include the name of the device file in the fprintf() call to
balance the arguments and format.
Change-Id: I62e702cf0bc9935897c2f85b0acc3b62b41d654a
- Re-write function declarations from K&R style to ANSI style.
- Change declaration of write_char(), S(), in_list() to match ptotos.
- Resolve clang warnings about assignments in conditionals.
Change-Id: I61624b18afbefe1ff29941233d274bd6c0f12520
Implement changes based on Kees comments on the code review:
http://gerrit-minix.few.vu.nl/#/c/676/
Changes:
- use spin API instead of micro_delay() for busy-wait loops.
- use read16/write16/set16 from mmio.h to access I2C registers.
- reduce the timeout for soft reset.
- in read/write, don't mix variable declaration and initialization.
- after transfer, wait for access ready instead of blindly delaying.
- rename constants am335x, dm37xx to AM335X_I2C_BUS, DM37XX_I2C_BUS.
- rename ADDRESS_MASK to MAX_I2C_SA_MASK for clairity.
- rename omap_i2c_claim_bus() to omap_i2c_bus_is_free().
Change-Id: Ic221e6134e024ea0a6690f21cff208a728286948
Between Minix 3.1.2 and Minix 3.1.3, the d_name member of struct
dirent was reduced from 61 characters to 1 character. backup(8)
blindly copies the result of readdir() into an array of dirent
structs. As a consequence, the structs in the array only contain
the first letter of the name and the name string was not null
terminated. This caused the backup utility to always fail.
Remedy the situation by adding room for the full d_name.
Change-Id: I2a7b4630f1bb727825a95a6095a7a543fc2f08f6
Use EDID when available to configure the frame buffer driver with
good settings for the attached display.
Change-Id: I69a78155a93e55ffa1ca3ff6621a879a56cdbceb
NetBSD provides an in-kernel EDID parser, validator, and printer
along with other useful functions. This code will be re-used by
the Minix fb driver as it is a complete and well tested
implementation.
Change-Id: I46fe3005d9957cd90d4972030ddcce7bc3bd7924
readclock:
- the setup function for readclock on i386 was missing a return.
- the message field for RTCDEV_GRANT wasn't the right type.
tda19988:
- position variable was used without being initialized.
Change-Id: I3f78dd0a9d44f35eb38cb7da0974909f066b7007
On the BeagleBoard-xM, the RTC is located on the Power Management IC
(PMIC). To keep things consistent, access to the PMIC's RTC is done
through the readclock driver. The readclock driver forwards the request
on to the TPS65950 driver which does the work of manipulating the
registers on the chip.
Change-Id: I53cefbb59c5a9ab87fab90df3cc1a75a6e430f58
- Simplify the message passing between readclock and the driver.
- Add a -q command line option to suppress warning messages. This
cuts down on the noise when readclock is called early in the boot
sequence and a secondary RTC driver (ex TPS95650) isn't up yet.
- Update the man page to be less i386 centric and add details about
the new -q option.
Change-Id: If8d7c50a217ca98c1e9fae0ca92521e2e7c893e4