Commit Graph

5691 Commits

Author SHA1 Message Date
David van Moolenbroek
098ec7e415 Redo mount(2)/umount(2) ABI
- pass in file system type through mount(2), and return this type in
  statvfs structures as generated by [f]statvfs(2);
- align mount flags field with NetBSD's, splitting out service flags
  which are not to be passed to VFS;
- remove limitation of mount ABI to 16-byte labels, so that labels
  can be made larger in the future;
- introduce new m11 message union type for mount(2) as side effect.

Change-Id: I88b7710e297e00a5e4582ada5243d3d5c2801fd9
2013-09-28 00:09:33 +02:00
David van Moolenbroek
c4bd0e949e Align "struct statvfs" with NetBSD
This is a requirement for implementing calls such as getmntinfo(3).
VFS is now responsible for filling in some of the structure's fields.

Change-Id: I0c1fa78019587efefd2949b3be38cd9a7ddc2ced
2013-09-28 00:09:22 +02:00
David van Moolenbroek
92f858105b VFS/FS: remove fstatfs(2) and REQ_FSTATFS
The fstatfs(3) call now uses fstatvfs(2).

Change-Id: I3fa5d31f078457b4d80418c23060bb2c148cb460
2013-09-28 00:06:01 +02:00
Lionel Sambuc
1cb1d23986 usr.bin/stat Update
Change-Id: I029160c73baab1b3465bc5397a36c55886db225b
2013-09-28 00:03:44 +02:00
Lionel Sambuc
6112cea1e2 almost aligned ioctl prototype
Change-Id: I7f3eaa99d2a9767f71e8387cea5c7f56dcb28f99
2013-09-28 00:03:44 +02:00
Lionel Sambuc
2cf2960340 ABI Break: aligning struct termios
Change-Id: I0109188fffbb166a5036e324a4a75b2491c39fb3
2013-09-28 00:03:43 +02:00
Lionel Sambuc
29d530957e 32 to 64 bits fsblkcnt_t and fsfilcnt_t.
Change-Id: I432229143c85cd178262b802a76ac606801ac59a
2013-09-28 00:03:43 +02:00
Lionel Sambuc
730d1ea6d6 moving prototypes to lib.h
Change-Id: If53d3f5ee761b10e0f3d4346a0c5b39ba7901c65
2013-09-28 00:03:43 +02:00
Lionel Sambuc
43490dfc1d struct uucred
Change-Id: Ia97cb6c38bb566be30d568a252ae7b76142a21dd
2013-09-28 00:03:43 +02:00
Lionel Sambuc
54065af023 Alignement on netbsd types, part 1
The following types are modified (old -> new):
 * _BSD_USECONDS_T_ int       -> unsigned int
 * __socklen_t      __int32_t -> __uint32_t
 * blksize_t        uint32_t  -> int32_t
 * rlim_t           uint32_t  -> uint64_t
On ARM:
 * _BSD_CLOCK_T_    int       -> unsigned int
On Intel:
 * _BSD_CLOCK_T_    int       -> unsigned long

bin/cat is also updated in order to fix warnings.

_BSD_TIMER_T_ has still to be aligned.

Change-Id: I2b4fda024125a19901120546c4e22e443ba5e9d7
2013-09-28 00:03:42 +02:00
Lionel Sambuc
6b586091a6 Adapt the type used for adjtime_delta
clock_t is currently a signed type, but in NetBSD this is not the
case. As we plan on aligning our types we have to change this as this
prevents negative delta from being correctly used.

Change-Id: I9bccdee2b41626b0262471dc1900de505a1991a7
2013-09-28 00:03:42 +02:00
Lionel Sambuc
2ec49130c1 fix sysroot clang
Change-Id: I63adf8460e7fdbe3d9d5ad6c828ae5758cb1643c
2013-09-28 00:03:42 +02:00
Lionel Sambuc
0d76bdef63 Bumping version to 3.3.0
Change-Id: I4c88bdd449daf6ad3fe4e93ee8fc35d4f38becc4
2013-09-28 00:03:25 +02:00
Thomas Veerman
1fb2d93acc VFS: use 64-bit file offsets in all requests
Change-Id: I735c4068135474aff2c397f4bc9fb147a618b453
2013-09-28 00:03:14 +02:00
Thomas Veerman
72b91ca301 stat.h: remove some big_ types
Change-Id: I84017db3d54edfb823cc52e02d0b07fccb003988
2013-09-28 00:02:52 +02:00
Thomas Veerman
62b10087fc Define protocol version of {mode,ino,uid,gid}_t
Change-Id: Ia2027749f2ce55a561d19eb895a5618505e9a2ac
2013-09-28 00:02:32 +02:00
Thomas Veerman
334c19a7f8 VFS-FS protocol: add versioning
Change-Id: Ice6fbfd4b535b7435653fa08b27a3378d1cfdbf8
2013-09-28 00:02:15 +02:00
Ben Gras
b6d951df17 arm_sdimage.sh: use native minix partition util
. make filesystems on primary partitions to make it
	  easier on the minix partition util
	. so sfdisk isn't required as an external tool
	. also make partition and hitherto x86-only utilities
	  arch-independent

Change-Id: Ib4e07e45d038d084dde1858917d3deb7f0616532
2013-09-27 14:13:43 +02:00
Kees Jongenburger
ed45d98dac arm:ensure read_tsc_64 always returns a valid value.
Before this change overflowing the free running clock counter
between the time the timer was read and the time the overflow
check was done resulted in read_tsc_64 returning a to high value.

Change-Id: I1022f271213647f720477c4121d45f0c965456c6
2013-09-27 11:29:04 +02:00
Kees Jongenburger
02f6308a2b arm:mmc driver speedup.
Speedup the mmc driver one more time before doing a proper fix.

Change-Id: I9dbe9b1e16e71fed00c8ac3ca7fdc6c4374284c0
2013-09-26 12:11:29 +02:00
Kees Jongenburger
d60d07f045 arm:caching enable barriers
Change-Id: I2c54a3c3c8f0502bf365901d771a989f7c556958
2013-09-26 12:11:29 +02:00
Kees Jongenburger
400e577fd5 arm:caching clean caches before setting up mappings.
Change-Id: I9ff1bb04ea9c0adeb76e5176526448d93bfe29f5
2013-09-26 12:11:29 +02:00
Kees Jongenburger
73ed75a454 arm:vm allow per memory type flags.
Change-Id: Id5a5bd479bdfbbc3fb52a85c29e1d7712a1171a7
2013-09-26 12:11:28 +02:00
Kees Jongenburger
34b517ab12 arm:caching mark normal memory cacheable during identity mapping.
Change-Id: I7cd8da168744a3f32276803e99e8af0fea772574
2013-09-26 12:11:28 +02:00
Kees Jongenburger
d77debb5b7 arm:caching access the l1 pages over cacheable memory.
When we start using a new pagetable (for a new process)
the last part is to ensure the pagetable itself can be
accessed by VM. This is done in pt_bind by updating
the "pagetable of pagetables" and we want this mapping
to match other mappings to the l1 pagetable.

Change-Id: I7b506fd75553917fdc1abd25b55e4b2f25ccbf8d
2013-09-26 11:57:44 +02:00
Kees Jongenburger
2830a5af5c arm:perform copy operation using same cacheability.
When copying data from cacheable memory also use cacheable
attributes when creating temporary mappings.

Change-Id: I0e8380293fb4edaafba49f6262983ad86a5350c5
2013-09-26 11:54:36 +02:00
Kees Jongenburger
0d02dc9d54 arm:make the MMU fetch pagetable data through the caches.
Change-Id: Ibd7b66558c369d0c0792c02801562580d255fa1f
2013-09-26 11:54:36 +02:00
Kees Jongenburger
827378c57f arm:caching add methods to flush the data and unified cache
Change-Id: Idb066dd01afbdbccd684bcdcf4af88b4b1ef870a
2013-09-26 11:54:36 +02:00
Kees Jongenburger
c4ffaa0afb arm:caching define a new caching combination and use that.
This combo was taken from the startware examples.

Change-Id: I9ef8d4f4706124a6aaec72f5da65b5301c5c2301
2013-09-26 11:54:36 +02:00
Kees Jongenburger
91004287be arm:caching mark memory as cacheable.
kernel mappings that are not marked as  VMMF_UNCACHED are now mapped
as cacheable.
2013-09-26 11:54:36 +02:00
Kees Jongenburger
0f23130180 arm:caching introduce _CACHED defines
Introduce ARM_VM_SECTION_CACHED and ARM_VM_PTE_CACHED to ensure we
are using the correct caching flags everywhere.
2013-09-26 11:54:36 +02:00
Kees Jongenburger
b82f01ea69 arm:clarify pagetable code.
Make it clear that non RW mapped memory is mapped RO.
2013-09-26 11:45:44 +02:00
Kees Jongenburger
b08490a35b arm:document arm vm.h 2013-09-26 11:45:43 +02:00
Kees Jongenburger
a17691a98f arm:define the physical memory range for the omap.
Change-Id: I256dbeb58fec5b95b48d521054810fe478fce67f
2013-09-26 11:45:43 +02:00
Kees Jongenburger
b98441772c arm:vm map free running clock uncached. 2013-09-26 09:08:13 +02:00
Kees Jongenburger
a88bc73e4c arm:allow to lookup physical addresses of sections.
Change-Id: If4716b81cceee5d8b30d5f103b772b0ac99fc807
2013-09-26 09:07:36 +02:00
Kees Jongenburger
6595e79da8 block-dev:add additional sanity check.
Change-Id: Ib5b7cd93a50726b95c2e1b4c7eeedfefc824dd9c
2013-09-26 09:06:57 +02:00
Kees Jongenburger
b1a7d4d7ea arm:misc fix remove const modifier for value that changes.
Change-Id: I4ac96acdc66ea203a339108225c07c68959556c0
2013-09-26 09:06:24 +02:00
Kees Jongenburger
184fe46a79 arm:use correct address mask for sections. 2013-09-26 09:06:05 +02:00
Kees Jongenburger
e4be0ceecf arm:timer changes.
* Allow to change the timer frequency using the hz paramter.
* Unmask the interrupt only after registering the handler.
* Pass the hz parameter in the command line.
2013-09-26 09:05:44 +02:00
Kees Jongenburger
88c79fc9e9 posix-test:fix times test
Applications should use sysconf(_SC_CLK_TCK) to determine the number
of clock ticks per second as it may  vary  from system to system.
2013-09-26 09:05:28 +02:00
Ben Gras
a9db0ea184 x86 hd image creator
A script that creates a HD image ready to be booted by an x86
emulator, ready to work in a crossbuild environment.

It's really just for qemu/kvm as there's no boot code in
the MBR and no bootloader installed so we rely on the in-kvm
multiboot implementation for now. This is very convenient for
passing args too.

To minimize reliance on external tools, we use the Minix
'partition' utility to write the partition table of the HD
image, which therefore has to be compiled natively.

	. new script releasetools/x86_hdimage.sh
	. natively compile minix 'partition' utility
	. make <machine/partition.h> 64-bit safe for it

Change-Id: If645b4691536752271e0b8a8ed59a34f248dace4
2013-09-25 19:30:22 +02:00
Ben Gras
9dfbfc9af7 release.sh: simplify by removing usb option
. relies on bios_wini which is long gone

Change-Id: I95257b6204cc6d928abcbd8492808b4b6450a99e
2013-09-25 12:26:31 +00:00
Ben Gras
a16d9e9f51 remove unused hdemu release mode
Change-Id: I3ca497eda3c0042cafb8ba88fe16202221823a9c
2013-09-24 15:27:07 +00:00
Ben Gras
a64a836a3f kernel: fixes for DEBUG_DUMPIPC mode
. add dependency of headers on debug.d
	. put the generated headers in the right dir
	. also resilience against future ELAST duplicate errno

Change-Id: I9d10702c8e09699a40138193f14defe902399da6
2013-09-24 08:26:53 +00:00
Thomas Cort
cb5e2921b3 i2c: increase read/write timeout
The sht21 temperature and humidity sensor holds the i2c bus while
an ADC conversion is in progress. For example, a temperature
measurement is requested, a read operation is started, and the
sht21 doesn't respond to the read request until the result of
the measurement is ready. The conversion time isn't constant.
On rare occations (one in hundreds of samples) the timeout in the
i2c driver expires returning an error.

The example code from Sensirion, the sht21's manufacturer, suggests
a bus timeout of 1 second to accommodate the sht21. This commit
increases the bus timeout to 1 second. The timeout is only reached
when chips do not respond normally, so the change doesn't affect the
performance of any other drivers.

Change-Id: I57b0f958a5d0b69b221af380b771fe67401ff604
2013-09-18 08:10:26 -04:00
Thomas Cort
75bd3009d3 libi2cdriver: add functions for IC register access
Many i2c device drivers used similar code to access registers on
the ICs they drive. This commit implements that functionality in
libi2cdriver and updates the drivers to use the library instead of
their own register access functions. The net result is 375+ fewer
lines of code and less work for people developing new drivers.

The two exceptions were cat24c256 and parts of tda19988. They access
the bus in uncommon ways. It doesn't make sense at this time to
move their read/write functions into libi2cdriver.

Change-Id: Id8280b71af33b710a49944d7f20a7262be9f5988
2013-09-18 08:10:26 -04:00
Thomas Cort
43471c3110 bmp085: remove duplicate code
A copy and paste error caused a few lines of code to be duplicated.
This patch removes the excess code.

Change-Id: I7313efb537e2a4102fb25ce05782e82ae0c84285
2013-09-18 08:10:26 -04:00
Thomas Cort
493e4fffc5 tda19988: add missing blockdriver_announce() call
To provide EDID to fb, the TDA19988 implements the block device
protocol with libblockdriver. To properly use the library,
blockdriver_announce() should be called by the driver.

Issue reported by David van Moolenbroek

Change-Id: Id55d159d91502a9afac5c1d4de0fee1e8945b5c1
2013-09-18 08:10:26 -04:00
Lionel Sambuc
3342fb471b Prevent make -C gnu from installing files in /
This is done by adding a dependency on ${GNUHOSTDIST:H}/.gitignore
for both realall and realinstall targets.

Change-Id: If086a6c02ab20a8cd4bbb3597d7203cf22dce796
2013-09-17 15:19:50 +02:00