Thank you very much. So my name is Roger, I work for Citrix on what's called a platform team. We have people that work on the enormous project, and many work on Zen. I'm here today to speak about how we can remove the PCI emulation. I will tell you the description of the PCI class, and we will speak a little bit about the current state of PCI emulation inside the center. We've done it for different kind of areas that we support. Finally, I will speak a little bit about the work I'm doing on the PCI emulation. Let's start with the basics. PCI is a pass that was developed by Intel in 1992 in order to attach devices to a computer. It was originally designed for servers, but it was adopted for desktop also quite early. So basically it was developed by Intel in 1992, but now Mendinga and Kaiser have contributed to the stack. It's a group of several companies called DCMC, which is formed by more than 800 different companies. And they inspired the PCI with their specifications. When it was started, if there were all kinds of pass like this, there were a lot of different kinds of pass, which was for computers, and basically PCI was super simple. And it was the main pass, you know, almost any computer. The main two standards are the first one, which was introduced, which is the PCI motor pass, and then PCI Express was introduced in 2004. In between there were also several other standards like the HDD and PCI-N, which basically started up with the PCI-L of that specification. And it was mainly used by artists, actually, because it was very long, and PCI-N was not initially slotting the model, but it was applied by artists. And then the rest of them would be PCI-N as well. So this is how it looks on a laptop. This is our part of it, and in this case the first four are PCI Express as well. And the last one is a conventional PCI slot. If you still have testers and you open them, you probably find something interesting. Maybe you might have different lengths, different lengths on that kind of slot, but basically you don't have something like this. It's a very popular graphic card, but then you won't have anything like that, so you don't have classes. And here we also have a picture of what we would actually find in tomorrow's classes. This is a USB-3 PCI Express card that provides for a USB-3 port than that. And one of those PCI slots. Now let's move to what's actually interesting to me, which is about the power power of PCI, and more interesting than the software power of PCI, which is what I've been working on. So basically it's called the PCI configuration state. There's a standard that's provided by the PCI and by the PCI class, and basically it defines, or provides, e-devices with a certain amount of space. In this case, it depends on the implementation of the specification, which is usually false. You have 250 files or 400 e-devices or a state e-device that use to store the configuration of e-device that can get set by the device. This is very interesting, because it allows the rest of the standard way to detect devices. Basically, this is a standard mechanism of detecting devices using the PCI configuration state. Each device inside of this configuration state has a unique identifier, which is formed by the device and the function internals. This is usually called BDF, and it's an unique couple of the blocks. So basically it's different devices as we need it here and now. So in the configuration of the device, the first 64 bytes are standard, they are the same across all different kinds of devices. This is called the PCI card, and it's served in all the devices, which allows us to easily identify devices. And the rest of the space is used to store what's called capability, which is per device that usually contains more, let's say, extra functionality of those devices, like the same sign interrupts, the same X, where they have SRIUB, all those things that are stored inside of these capability disclosures. So basically, I hope you know of the PCI that would make discovery devices much more easier, because it was a standard interface for discovery energy. And that's also another, what usually depends on the different root forces kind of all of us, which means that it was the one device in the bus, in case you were out, where you have a black device or not. This is usually called the root forces kind of the bus. And while you can do that, but in general, most people, for example, you should be able to find in order to figure out if the device is a present of the system. And then we can speak to them about the PCI bus. We think we see the way to access the configuration space with either from the IOS page or from the memory space. The IOS page access is called the legacy. It's the first one that was introduced. It's made of PCI conventional or PCI local bus. And then we also have the way of accessing the configuration space from memory, which is called the enhanced. And it was introduced with PCI trust. So this is how PCI, a lot of PCI apps that look commercial or PCI apps that look to be done on the IOS space. So this is how PCI, the IOS space. And it's important to note that in CPC, the IOS space is made of 64 bugs, so it's impossible to fit a whole multi-register space inside the IOS space. So basically, what they did in CPC was to use indirect access to the configuration space. This is done using two different registers, CNA, is the register that contains the others that we are going to use. So in this case, for example, you can see that on the register we will write the last class of registers that we want to access. We write this on the register and then we read the other remark on the CFC board. This is good, but it's not very obvious because for each data that we want to access it provides us with two different instructions. So we have to write to CFA and then we have to write to CFC. This is fine, but we also want to be designed with SMB money because every kind of you access it in some kind of login in order to make sure that no other CPU is also going to access the last. Because if you have, well, let's imagine that you write that the others are going to access to CFA and before reading CFC and obviously when you write to CFC you can access to CFA then you will read the report back. So basically you need some kind of access to the login on that. But to solve some of the problems that CFC has in 2004 this is called the enhanced procuration access and it basically is done by mapping the full procuration and spacing to memory. Memory, as you can see, it's huge. You have 64 bytes of memory so you have a lot of space so you can basically map the full procuration spacing to memory. And then basically when you want to access the specific register you can access that as you want. It's a similar structure and you can require an extra login. Well, in this case the register they have here is just a little bit long but the higher part that access to the SDV was called the base address of the memory procuration space. The firmware can position the access to the procuration space in memory so you are going to have the staff and then you will be starting from that to automatically. It's also important to note that if you see here the resistance here it's 6 bytes of battery actually 8 bytes on but on the enhanced procuration there is a register that needs to be long. That means that you can have 4 kHz data using the legacy one and also on the enhanced one you there are some hardware that supports 60-40 access it means that you can use more in order to read from memory but it's not guaranteed so it's not going to be used from the previous system because you don't really know how to support it. So how does PC800 properly work inside of Zen? For those familiar with Zen you have to follow the previous domain you usually go to dom0 it's the first guest that's started after launching the hypervisor terminal so basically you start then which is a kernel itself which is my order and then you start again this first guest is the previous domain it's called dom0 it has special abilities over the hardware and over the Zen itself it's basically used to control it. So in this case dom0 makes full access to the PCM from the personal space because it means to manage all the hardware under it so basically Zen on that access is to the CFA and to CFC in order to maintain stabilization so basically dom0 makes full access to the PCM from the personal space then when you pass through of PCM devices to guests we have two different kind of devices one is for the BB and the other is an aggregation for parallelization it's a personal that was developed by Zen and in that case if you want to pass through and the guest wants to access the configuration space we use a specific PD protocol in order to access it that's called usually PCI-con and PCI-pack and the specific is a very thin specific way of accessing it but if you're a guest in your hand the guest needs to have full access to the PCI-con because it's easy to evaluate the configuration space for the guest so we pass the we need to have full access this is actually the diagram of how the system works usually so we have the dom0 which has full access to the hardware basically so we can access the PCI-con without any limitations and then I have the PD-S with PCI-pack we can see we don't need the PD-S and PCI-pack speak directly so that means it's faster it's less overhead but it's also using the same specific protocol it means that PCI-con you want to port the Zen and you want to port PCI-con this is fine but sometimes you want to port the Zen because it's a growth source and then for the GMS we actually have accesses to CFA, CSP and to any access configuration space from the guest so basically one of the guest-type classes one of the regions we get without using that and we forward these accesses to the GMS we have an end-to-end with the device is fully emulated it will be handled by the GMS there is the reply to the guest we have to be fast on the other hand sometimes the response is directly to the GMS sometimes the GMS has to be reached from the hardware and all of that to the guest itself so yeah, this is nice because we don't need to modify the guest but it's actually much more slow it involves traveling to the Zen and then we can go to the GMS and then go to the GMS and then go to the hardware we won't try to do this at all so now we have an intersect that's called PMA which is basically an end-to-end guest from the end point of view because it doesn't come from any of the devices so basically it means that it doesn't have the device model it doesn't have the end-to-end system because we don't have the end-to-end devices and also we need to emulate some back-to-end devices with the IOLP, the P, the P the HPED I think and maybe something else but all those devices are no longer a multi-faceted concept so basically beyond the multi-faceted device we are going to do a VHS that's beyond the multi-faceted device this is nice because we can go on this new home that's called the 0-1-1-U because it doesn't provide the end-to-end so we can do it for both 0-1-1-U but at some point we have to act because we have to ask ourselves how do we like VHS to access the configuration of space we would like to use the beginning way we would like to use something like the end-way that is the end-way and we decided that the best thing probably was to do something like this so basically in order for VHS to get some kind of main key access to the PCI configuration of space we decided to do the PCI in which we were very excited we called this vehicle a PCI with PCI in order to argue and basically the idea is that by putting some configuration of space in order to be able to handle a pass-through for PDAs and GMS without having to go to the end for the GMS, I mean that you already required the end so it's not that much for me maybe a little bit because if the end-way doesn't have to access the real power you can, let's say, mark the end inside of a container or something like that you can easily get there because it doesn't need to run out of wood anymore because it doesn't need to access other things and then what we did is lay inside the same PCI of the pass-through for the GMS the initial implementation is targeted at non-zero only we look at basically because on non-zero the speed is much more relaxed because on zero you feel you have access to the power so we don't have that much experience but on zero basically it's hard to watch all the traffic there it's the traffic road that we run so if you want to run at non-zero it's the same as normal and in that sense the stability of the PCI emulation that we have now is not very strong because it's only being targeted for a long time so we look at a medium of the features meaning in order to have some kind of working PCI emulation on zero so basically we need to have access to the PCI here in order to the deck when it gets access to the head and then we also need to have access to the entire site and the MSA extra to do four of them now so yeah the first system we want to implement in the Intel 10 was to actually have access to the registry server that allows access to the descendant version of the and we have to have access to CFA and CFC in order to the deck when they get this kind of access to the configuration of the deck and then from there we can obtain the media from the registry server that makes exactly the kind of access we also have to have access to the actual configuration of the that every single basically what we want to have access we want to have access so then when we get the media we can actually search for the devices that we can obtain and we need device as a link at least of the devices that we are working I think it's easier to see that with a little diamond so basically the theme of the talk would represent the access by the desk so we can obtain both themes and we can operate on the media source and using the media we search the ZMP and we can obtain all the digital devices in order to obtain the digital devices that we have to have access and when we have that we get a list of registers and a list from the desk and we search for the registers that we have to have access to to use this for a few moments so basically if the register is not if the register is not registered so this is a PCI header this is actually what's called a normal PCI header this is an ID and then at the moment we only support a module of devices with a type 0 that 0 is for the normal header PCI and that's also another type of header that's type 2 I think that's the car wash header that has devices normally there's that and then the themes everything green are the ones that we actually track so basically we have the common register on the PCI header we basically need to track the register and we go on to the desk and it's time to enable and normally we go in the bus into the desk the bus the bus is the data this is the bus is basically and what the header is about the distribution of the data we also track builds the data on the gas drives to be able to take that type of memory and finally we also got the access to the normal data to be able to integrate it into the next world problem and then we also have access to the MSI and then we go into structure this is found after the header and this structure is used in order to set up interlocks the gas basically arrives to these fields and then somebody will get interlocks in there the MSI is used to signal that you want to enable or disable an interlock MSI interlocks then we have the message address and the message address we have those few signals on the deck and finally the NAS feeds are used in order to mask the feedback that we want to disable this is also the more complete MSI header because we are using 64 bit addresses and it also has a NAS feed there are people that don't have a structure that only contains 32 bit address fields and don't contain the NAS feed or any of it we also have access to the MSI X capabilities and the MSI X structure the only difference is that instead of having a global message address and message address we have one for example also another of the differences which are the structure is that the part that resides on the configuration space is very small it's at the top of that slide that's the part that actually needs in the configuration space because from the information control which is used in order to disable MSI X and then we have two fields that actually point to a memory address inside of the memory space at the outside of the configuration space at the main disabled usually if you don't use disabled it's quite big so if you will place disabled inside of the disabled configuration space people will probably overflow so how about that so in order to test this it's not very easy to test all those kind of things when the package is inside the configuration with your system and then you can find your way to actually test it so we decided to create what we call a user space that's hard as it basically it's simple but what we basically do is we end up with a very simple program that we want and it does some kind of simple test this is fine because it allows us to test a lot of functionality like adding registers removing registers and things like that but it doesn't allow you to test specifically for the patients like MSI emulation MSI emulation you can actually test that in the actual hardware in the actual hardware in order to do that some of us have been hacked so we didn't like or thought not yet they don't need to send they've got to be found it's the MSI emulation the main reason is that right in my car they also have some pre-executives in order to test this the pre-execute is not in the same we only have to do this we do one of these types that's why it will meet the working progress but the things we work we have to work with as usual we want to test with different tests we can send the test of the party force to send the mail and then we can send it to the city for the infusion of our mail so I'm sure I will it's realising and then the field of work seems to be quite important the residents are working on implementing a special emulation for non-zero super-execute that's our main reason then I will probably focus on the role so we can use the role for deviating media and finally the idea would be to switch the 8pm before the past few months from the end and use that to save all the pre-executives with that that's where the question is there are many people I could imagine that you have heavy loads in your sense and maybe you want to even for each guest to use a magic card as a for your future work do you think of sharing that in some way the question is whether we are planning to share a graphic card so what do you say it's not an indication of the end you just need a graphic card to allow some kind of sharing that thing there are some kinds of problems that already have that license and what should they do for some kind of GPU sharing thing but I'm not sure about the status of using general simpler because crazy media I think so I think it should work with them I think for this it's not a specific card that the GPU sharing will be possible maybe easier because we don't have an editor but the problem is that from the personal you know the performance how much does it change using this new magic card from this card performance in terms of performance I haven't mentioned that yet but I guess the question is how much performance difference there is from using the end quality thing I haven't mentioned that yet I expected some performance gain because we talked about there's less moving around and so on but I haven't talked about that and quite sure that some performance improvement is done because we need it also I think the main focus was to get something working first then we will talk about the performance I think for the GPU we don't have devices so when you create them it's hard to miss the GPU the ECI for which the HVM abbreviates the reply ECM because there are devices that are few with a more limited HVM like the new work card with a more limited HVM that's not something that we can do with this HVM this ECI version is only going to be used by Pascal so when you do Pascal physical devices to a guest but the emulated devices are mostly HVM are currently supported with HVM cases that will work with HVM and won't work with the ECI I don't think so because at the end there's a passion there so you can place it inside the HVM or in a place inside of them the place is not relevant in that case so I think as long as we have the right to it's going to work if it doesn't work it will act thank you very much


We notice better water infiltration after rain. Most of the rainwater will soak into the soil, and it'll do so real quickly. And we have improved soil structure, and our crop yields have been excellent. By not disturbing the soil, we find the old root holes that absorb moisture. And in addition to that, you have a lot of life within the soil, the worms and so on, that create holes in the soil, absorb water, and give the soil life. I've soil tested over the years that I've owned the farm. And in the last 25 years, the soil organic matter has increased from about 2 and 1 half percent to about 4.7 percent. And each percent increase in organic matter increases water holding capacity. The NRCS people can help you in planning your operation and in addition to that, there are some incentives for some of the conservation practices. And one should take advantage of these incentives if at all possible. They also have the people that are knowledgeable or can direct you to people that are knowledgeable about the practices that you want to implement.


In the previous lesson, we talked about the dropshipping business model, which is the business model that we will be working with. In this lesson, we will be talking about product research. Product research is one of the most, if not the most important part of running your online business. And that is because if you don't get your product research done correctly, and if you don't work hard enough on it and really know how to find the products that will sell for you, then it doesn't matter how neat your site looks. It doesn't matter how much time and effort you put into it. And it won't matter how much budget you put into your marketing. Nothing will work and everything will fail if you don't get the product research done correctly. That is exactly what we're going to be talking about in these lessons. We're going to start with the first lesson in product research, the six criteria for finding a good product to sell. By the way, you guys don't need to write anything down. I got you all covered. The first criteria that you need to know in order to be able to conduct product research is that the product needs to be hard to find in stores. For example, check out this product. This is a toothbrush sanitizer, UV toothbrush holder, and a toothpaste dispenser. It sanitizes your toothbrushes. This is what people are looking for, especially this year with the pandemic that we have going on. Now let's check if this is a hard to find product at local shops that people usually have near their homes. For example, let's take a look at Costco. As you can see, Costco has no idea what this product is when searching for UV toothbrush holder. Same thing in Home Depot. Home Depot has no idea what this product is, but we can see that it is available and even trending through other suppliers. So that's the first criteria that the product needs to be hard to find in stores. Now the second criteria of finding a good product to sell is that it should be hard for customers to guess the price of this item. For example, that UV toothbrush sanitizer. It's not a product that people usually buy.  You can guess around how much you'd want to spend for such a product. For example, I wouldn't spend $100 or $150 on this product, but if it costs $30 or $40 or maybe even $50, sure, why not? It's for the health of my teeth and it's worth that much money. So with the second criteria being that it's hard to guess the product's price, you can actually make great profit on such products. You can price them up to three times their worth and even more. It really depends on the situation, but that's why the second criteria is that it needs to be hard for the customer to guess the price of this product. The third criteria that you need to keep in mind when doing your product research is that the product needs to solve a problem and make your customer's life easier. For example, that UV sanitizer toothbrush holder that we saw solves a few problems. It cleans and sanitizes the toothbrushes, it holds and dispenses the toothpaste, it organizes the toothbrushes in an orderly fashion, and it takes care of your personal hygiene. So there's a few problems that this product solves and it's hard to find in stores and it's hard to guess the price. These are the criteria that we're looking for in a winning product. The fourth criteria is that your drop shipping suppliers need to have fast shipping and delivery times. Customers do not want to wait more than one week to get their orders. That is why I don't recommend to work with Chinese suppliers. Many people do it and it's fine. It is not a wrong method. Do not get me wrong here. But if you want a higher quality store, higher quality products and satisfied customers, you need to work with American suppliers with fast shipping times. We're going to get to the suppliers soon, but keep this in mind for the fourth criteria that you need to work with suppliers, drop shipping suppliers with super fast shipping times, super fast delivery times, and good customer support when it comes to returns. Now this brings us to the fifth criteria that you need to know before starting your product research. And this one is talking about the fact that your customers need to be able to buy the product impulsively without doing much product research before. For example, if you're selling something that has different weights and dimensions, then there's a good chance that the customer will need to go and do some research before buying from your store to see if it's the right size, the right measurement, and so forth. And you might lose them because they may never come back to your shop. This doesn't mean that you can't sell products that have different sizes and dimensions, but do keep in mind that it will make them log out of your store, see if it's what they need, and maybe come back a day later after talking with their wife or friend or relative if they would even remember to do so. You want to look for impulse buyers who will simply buy the product as soon as they see it in your shop, do not give them a reason to get out of your site and maybe come back later. So that's the fifth criteria that the customers need to buy the product impulsively and not get out of your site and start doing some research and maybe come back later. The sixth and final criteria before starting your product research is that the products that you are adding to your stores should not cost more than $30. And there's a reason for this. Yes, you can drop ship products that cost $100, $150, $400, and even $1,000. There's no problem with that. But if you want to have a much higher chance of making sales and profits, especially in the beginning of your journey, do not go for expensive products because you're going to have to work much harder to convince the customers to buy this product from your shop. And when your items are cheaper, when they cost you up to $30, then you can sell them for $60 or even $100, make some good profit along the way, and have a much higher chance of selling. Start with cheaper products up to $30. And this is the sixth criteria that I have for you guys. Now, before we move on to the next steps of conducting product research, you need to know the difference between a general store, a niche store, and a one product store. And which store should you have? As a beginner, it is much better to start with a niche store. And that is because when you have a niche store, you can start narrowing it down once you have a winning product. You can start narrowing down your niche and seeing exactly what's going to go well for you. And when you have a niche store, it simply looks much better than a general store, which just has a whole bunch of randomized products which have nothing to do with one another. So it looks unorganized and unprofessional. And as for one product stores, this can also be a good idea, but only once you have vast experience in the dropshipping industry, in the dropshipping world, and you know exactly which product you need to sell and which product is going to sell well. One product stores are really challenging because you only have one product and you're relying on that. So do not start with one product stores if you haven't dropped shipped yet. Start with a niche store which you will be able to brand professionally and slowly you can start narrowing down the winning niche. For example, if you're going for the pet niche, you're not going to sell a dog collar and only dog collars in different sizes and colors. You want to sell a whole bunch of pet accessories and start to slowly notice which ones are selling well and which ones aren't and then start narrowing down your products from there. So start with a niche store and I will show you exactly how you can do that and how you can narrow it down to winning products. Remember how I told you guys that you don't need to write anything down because I got you guys covered? Well, if you look now in the resources center of this course, you will see a spreadsheet called Product Research Dropshipping Spreadsheet. Download it now, save it onto your computer and I'll talk to you about it very, very soon. Now let's move on to the next lesson, how to spy on successful dropshipping stores. There you will learn exactly which stores are selling well, which ones of them are using the dropshipping business model so that you can learn exactly which items are going well and start your product research from there. See you in the next lesson.


The authors present an in vivo study demonstrating the therapeutic use of micromotors to treat H. pylary infection. This article was authored by Bertha Esther Banfan and Esther Avila, Pavamol Angsantical, Jinxing Lee, and others.


The president's budget proposal eliminates public media funding. Learn how you can help at lptv.org slash action. An eight-year-old Grand Rapids boy who was shot by his father last week remains in critical condition. Authorities say Wyatt Krause was shot in the head last week by his father 29-year-old David Krause. David Krause was found dead at the scene with a self-inflicted gunshot wound. Grand Rapids police officials tell Forum News Service that Wyatt remains in critical condition as of this morning. The shooting happened last Thursday in a home on the 1300 block of 4th Avenue Southeast in Grand Rapids. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.