Let's read our text together this morning. The passage that we'll look at to help us with this or I think gives particular insight into the agenda of this movement, which is really what we're talking about this morning is Isaiah chapter 5 verses 18 through 20 Isaiah chapter 5 verses 18 through 20 So if you'll turn there, I'll read that passage for us and then we'll pray to the Lord for help Isaiah chapter 5 verses 18 through 20 We're here for beginning of pastor Rick's session. I have no PowerPoint slides. I don't have a bow tie I have nothing going for me right now I'm starting with both feet and a hole so you have to bear with me through this session I don't have much of a creative side with those nice slide. I really like those slides I'm gonna take some good discipleship from our brother and work on that The title of our session the militancy of the movement. What is the war really for and our text that we'll get to as we walk through this is Isaiah chapter 5 verses 18 through 20 So let's read that together and then let's up pray Isaiah chapter 5 verses 18 through 20 The Bible says woe to those who draw iniquity with cords of falsehood Who draw sin as with cart ropes who say let him be quick let him speed his work that we may see it Let the counsel of the holy one of Israel draw near and let it come that we may know it Woe to those who call evil good and good evil who put darkness for light and light for darkness who put bitter for sweet and sweet for bitter Woe to those who are wise in their own eyes and shrewd in their own sight Let's pray Father in heaven Lord we thank you for this time together Just Lord what a glorious blessing to be with your people and to learn from one another God to learn from your word To worship you and to thank you and to praise you Lord and to think about ways Lord that we can serve you in the context in which we find ourselves in this culture that is just increasing in their Brazenness against your word and increasing in there and the boldness with which they sin We see this Lord is fundamentally attack on the veracity of your word the truth of your word and so Lord it gives us great joy to learn We may be faithful to you and contending for the faith that was once for all delivered to the saints But it's the same time Lord it can be a sobering eye-opening understanding of this world in which we are sojourners and pilgrims And the wickedness of it and so I pray God I pray that you would bless the work of your people To serve you with the gospel to see homosexuals saved I pray Lord that you would glorify yourself and the efforts of your people to understand this understand your word to engage Lord our culture our society in the way that we should as the pillar and ground of the truth And Lord that you'd be glorified in saving some Lord for your namesake We love you we thank you for this time together thank you for the church thank you for your people I pray that you'd bless this session as we talk through the mechanics of this movement Lord where it's headed And what we see and how we can stand faithfully for you against it In Jesus name we pray all these things amen So the militancy of the movement you know what's the war really for and in this session what we want to do is take some time and Go through some details if you will we've got to unpack what's going on I know for me when I first started studying this there was a lot of bells and whistles going off light bulbs going off just not Really understanding what was behind all of this and the more that you unpack it the more that you peel back the layers of the onion The more that you see and the more that we can understand biblically what's happening so that we as the people of God one aren't discouraged You know we can see everything around us just headed south and it can be a cause for despair in the heart of the Christian or Discouragement our God is sovereign amen Our God is in control and though it may look like everything around us is out of control and in chaos We know that God is sovereign and our joy is in him our hope is in him We understand from scripture what's going on and it just this is an opportunity with respect to this movement and these issues To come to grips with that with what's going on and to see that in scripture often is very helpful I remember when I first came to this church out of easy believism where the word of God really wasn't taught You know where the gospel really wasn't preached all you heard was ask Jesus in your heart and there are a bunch of Lost people in the congregation with you Scripture didn't really apply I didn't see it lived out in front of my eyes But you come to a biblical church where the gospels being preached and when you got genuine brothers and sisters brothers and sisters who love the Lord and live for the Lord Then scripture just seems to come alive to you right you see scripture being lived out in front of you In a similar sense we can take a look at the world around us you know if you've witnessed anybody who is a One of those sort of we view them sometimes a little kooky a futurist that in Everything that's going on everything points to in times and everything that's happening right now is pointing to these You know the planets they're going to align at a certain amount of time and then Jesus is going to come back so they've already bought their white robe and they're going to go sit out on the hill and wait for that You know they look at everything that's going on in our culture or in the news and they look at what scripture says And they're putting two and two together well you know for the Christian we do that we look at what happens We look at the wickedness around us even and in it all we see the eternal decrees and plans of God at work Being fulfilled and so this is nothing that catches God by surprise right this is nothing that should be In that sense a cause for despair or a cause for discouragement our God reigns And so this is just an opportunity now for us to unpack this movement a little bit Unpack what's happening and then look at one particular example here of what scripture has to say about it So with this session the militancy of the movement we want to like take a look at the agenda That is supported that is pressed forward by homosexual community The homosexual community likes to deny the existence of any agenda at all Likes to deny that there is an agenda there's simply no question for us as we look at what's happening in the news What we see on the media that there is a movement to push forward a radical and pervasive homosexual agenda For years even today they try to deny that fact there is no agenda just let us live the way we want to live right We just want to live in the privacy of our own homes and do what we want to do and we just want to live our lives There is an agenda the rainbow alliance says this the gay agenda This is coming from a homosexual organization who also at one point says that using the word agenda is not a good thing They say the gay agenda is but one of the many lies promulgated by radical religious political activists So if you claim there is an agenda to all this or an agenda on the part of the homosexual movement You are a radical religious political activist you're a freak Glad the gay and lesbian alliance against defamation in its list of offensive terms says An offensive term is quote unquote gay agenda or homosexual agenda The preferred terms that the movement would like you to use are lesbian and gay civil rights movement Or lesbian gay movement you can understand right why that's the case Also offensive was the term itself homosexual because homosexual is a clinical term and dehumanizes the person So they don't like the word homosexual they certainly don't like the word sodomite they prefer the word gay We can understand why that is as well Others have called the notion of a homosexual agenda the bedrock of our bigotry So if we say that there's an agenda we purport that they're trying to accomplish something that's just the foundation of our bigotry against them There's some secretive agenda that they're out to accomplish The purpose of this term they say is to portray as sinister the lesbian and gay civil rights movement We're painting them as sinister According to a writer for the human rights campaign Listen to the way that's worded the name of the organization is human rights campaign What's a campaign is an agenda it's a movement The human rights and human rights we're talking about human rights this is not homosexual rights These are civil rights these are human rights see the way that it's packaged We can't be ignorant of Satan's devices right Satan schemes Human rights campaign is an LGBT organization and they say we're not looking for this fight There is no gay agenda all our community Call it a community all our community was doing was working paying taxes trying to live our lives That's all they're doing right that's all they're doing right now just trying to pay their taxes just working trying to live their lives Again that word community itself points to an agenda human rights campaign points to an agenda points to a movement All you need to do to start a movement is to have a cause when a group of people have a cause And then they form community together around that cause The agenda is formed when the loudest voices associated with that cause associated with that movement begin to speak And the loudest voices the most influential voices by default Provide the agenda now it's not necessary that everyone in that agenda agree with the agenda Everyone in the community you're not going to find you know unequivocal agreement on every issue But loud voices influential voices in the community in the cause in the movement are going to provide for the agenda of the movement That being said the homosexual agenda today is alive and thriving and aggressive and pervasive And it's absurd to even attempt statements like there is no agenda right it's just ridiculous we see right through that You know published in fall 2000 in the Journal of Biblical Manhood and Womanhood Tony Payne said this This isn't the year 2000 so fast forward 15 years and you can see the difference here but listen to what Tony says Within the span of a generation our society seems to have moved from suspicion and condemnation through grudging tolerance to now open acceptance and promotion And now it seems to have gone all the way to suspicion and condemnation of those who might speak ill of homosexuality And in that we can see the progress right of the movement in that woven between those lines is the agenda that we're talking about the homosexual agenda You literally have to in our day today you literally have to have your head in the sand not to pick up on this We see it in the news we see it in the media we see it on TV we see it in the movies we read it in our books We see it in elementary school curriculums right we see it all over the place this movement this agenda is advancing and it's advancing at an alarming rate Those words were written in fall of 2000 I wonder what Tony would say today There's much much much that has taken place over the last even ten years last eight years six years of the president that we have According to the human rights campaign again the way that it's labeled this is just one organization and listen to their victories that they've accomplished for the agenda listen They claim victories online very aggressive various aspects of their obvious agenda they challenge DOMA the defensive marriage act And prop eight in California in the courts and they won those fights You remember what prop eight is was was in California proposition eight was the the the civil work in California to define marriage as the union being one man and one woman in California So it was a marriage amendment to the state constitution to keep that as the definition of marriage one man one woman woman And human rights campaign was leading the way in having prop eight and DOMA defeated in the courts Led the fight for same-sex marriage in multiple states and as we've seen they are winning the courts routinely are casting down marriage defense amendments or marriage defense acts Related to the employment non-discrimination act says here that HRC the human rights campaign invested two million dollars in a twelve week campaign that resulted in a successful vote putting the employment non-discrimination act in place This victory they said was years in the making for two decades HRC's deep bench of policy experts and advocates have walked through the halls of Congress Engaging with lawmakers in both parties about the importance of the ENDA act the Employment Non-Discrimination Act If you're familiar with that act it is pervasive again with infiltrating companies business even private companies corporations with a homosexual agenda to provide for what we'll talk about within the workplace We'll get there passage of the 2009 hate crimes prevention act in the federal law hate crimes prevention is now a part of federal law that's going to have deep implications for Christians Deep implications for our rights to share and preach the gospel will also talk about that HRC led the repeal of the militaries don't ask don't tell law They were the ones who led that they donated seven million dollars to election efforts in 2008 they donated twenty million dollars to election efforts in 2012 And now they run on an annual budget of fifty million dollars or more they began efforts listen to this to protect our youth they say in public schools They have a welcoming schools program where each year in the public schools that will allow them to come in many do they provide a welcoming atmosphere to those students elementary K through 12 who are of the LGBT community They have a call it out campaign in the schools that they run nationwide which is a campaign against homophobia for students to call out homophobia wherever they see it in the classrooms and the administrators and those that run the school They've provided for youth studies on quote growing up LGBT in America they provide materials for the schools with respect to LGBT community They support a national in the schools they support a national coming out day for students K through 12 for students to come out LGBT They host across the nation what they call time to thrive conferences the goal of the time to thrive conference is creating a thriving lesbian gay bisexual transgender student community A thriving they say LGBT youth population they want to cultivate it they want to cultivate it in the schools and they want to begin cultivating it in our elementary schools Now furthermore with respect to school reforms they call them quote unquote a homosexual lobby all over the country has successfully argued against what is called reparative therapy Or orientation therapy orientation change and they have taken away the rights of counselors to implement it many states now have outlawed the use of any reparative therapy Now what that is basically is you have let's say you have little Johnny little Susie who at age nine comes to you and says I'm struggling You know I've heard about this maybe I am supposed to be a little boy and I'm a little girl maybe I'm a little girl I should be a little boy The laws now in many states prohibit the ability of a counselor any counselor in the state to work with that student to get them to be comfortable with their own gender the gender that was given them They've outlawed the ability of those counselors to talk to them and counsel them against exploring that and just embracing the gender that they are Called reparative therapy goes farther than that you can read up on that for yourself it is it's a despicable law it's a despicable direction that's headed that we can't even talk to our students Our young people about that in the public schools or in counseling rooms all over this country Homosexual lobby in Minnesota recently passed a policy for high school sports I know you've probably heard about some of this including in that all extracurricular extracurricular programs like band and chorus in most states band chorus the arts drama all included in a high school what they call a high school sports association So Minnesota recently passed a policy already a done deal that together with public schools they and private schools religious schools homeschool umbrella programs that use public schools sports programs for activities for their kids The policy grants transgender students the right to play on either boys teams or girls teams at their own choice Stipulating no sex no gender on the field no gender in the locker room no gender in the field house no gender in the school no gender in the hotel rooms already passed no gender in bathrooms Just removing the gender identity of students allowing them to choose girl sports or boy sports whatever they're going to participate in Several women's only colleges this is interesting several women several women's only colleges in the northeast I've been in the news recently you've seen any of that One in particular showing up in October 2014 in an article in the New York Times entitled when women become men at Wellesley and that's dealing with the issue of transgender students One of those articles in New York Times explained the issue of men coming to the school identifying themselves as women who then this is another wrinkle is the way that the perversion goes right We talked about this that wickedness evil doesn't stagnate it doesn't sit still it progresses it has an advancement it will continue here it's another example of that In one particular college in the northeast they're having a problem with their more than two dozen students that identify themselves as transgender where men believing themselves to be transgendered females Attend the women's only college and then come out as lesbians follow the I mean I write it down right and follow the progression to keep it straight in my mind men who believe themselves to be transgendered females women trapped in a man's body Who go to a woman's a women's only school and then come out as lesbians so you can imagine if you have your daughter in that school with the dorm showers or the bathrooms or even the classes There's a story told by Michael Brown in his book entitled a queer thing happened to America about professor Jacob Hale of Cow State Northridge Now professor Jacob Hale is involved in the transgender community this is listen these are not abnormal this is going on right now as we speak and it's becoming more and more pervasive Jacob Hale involved with the transgender community he enjoys doing drag as Miss Angelica and hanging out with quote-unquote genderqueer sex radical friends and he used to be a woman So Jacob Hale used to be a woman comes out now as a man transgender man is a transgender man who likes to do drag as a woman and then likes to hang out with genderqueer sex radical friends Genderqueer is a term for anything goes right really not homosexual male really not lesbian really not only transgender it's anything goes He used to be a woman a woman who became a man who enjoys drag as a woman and then sexual intimacy with both really can't call it intimacy it's just sex with both I think we can use that term in our context here these people and many in the medical psychology fields have made gender or physiology the problem what's the problem Sin the heart a heart of depraved man out from which that heart flows that which defiles the sin it has nothing to do with gender and physiology but that's the way that our world today looks at it Gender problem it's a physiology problem you're you have male plumbing but you're not male internally and something has to be done about that But again no need to be concerned no need to be alarmed there is no homosexual agenda right there's not there's no homosexual agenda There's no active lobby pushing for the rights regarding this nonsense the agenda what we see is alive and kicking it is again it's aggressive it's pervasive and we shouldn't be surprised These are all just schemes they are devices of the enemy we need to be aware of them and know how from the basis of biblical truth from the church need to know how to respond So number one there is a homosexual movement to push forward a radical and pervasive agenda there is a movement there is an agenda and they are out to accomplish their ends So what is the homosexual agenda and what is the movement trying to accomplish what's the war really for what are they out to get Now we can look at the media we can look at the news we can see various aspects right the whatever comes under the umbrella of equal rights whatever that means a marriage you know that our sexuals can marry why can't we Why are you denying us marriage rights those kinds of things we can see the details in play but what are they ultimately out to get to Despite the denials of homosexuals anyone can clearly see that most homosexual organizations fundamentally agree on common goals and there are several of them A clear majority of those who claim to be gay lesbian bisexual transgender all support those goals they're pretty common goals most sodomites would approve of those goals There is a clear lobbying on the part of that agenda that movement to lobby government they've successfully done so to lobby media to lobby the schools and nationwide academic or school program school support organizations And there are clear plans clear directives there's a clear grassroots organizational effort for that work to be well funded and for it to continue That's happening right now they have increasingly won the funding and the support to continue doing what they're doing the message is very clear and the message is consistent the demands made are clear the demands made are consistent And those that includes those who claim to be Christians and to our brothers point yesterday was really really good compromising false churches and those that have compromised in the church call themselves gay Christians false converts There's a fundamental harmony among all these groups the way that the human rights campaign calls it a community they're community together there is an agenda there is a movement So what's the main objective of the movement and what they would say the objective of the movement the objective of their community is just we want to live our lives and be left alone That's what you would hear them say we just want to live our lives we want to be left alone that's deception many of them don't understand that deception they themselves are deceived and they are deceiving others That's what they would say just we want to live our lives we want to be left alone they would call it societal change fact the human rights campaign so that they want to change America right change society they're out to do that They would call it societal change or civil rights this is all a deception despite the many different issues that the homosexual agenda is fighting for they all fundamentally line up under one primary objective All of this is a symptom or pointing to that primary objective what is that the full approval and even a claim for homosexuality as a perfectly normal and legitimate equal to heterosexuality Not simply in their eyes but in everyone's eyes that the sinful lifestyle the behavior the conduct the philosophies the thinking of homosexuality to be fully approved of fully condoned fully accepted as normal Not only as normal but that which is worthy of admiration on the part of that movement and everyone else who looks at it approval and a claim for their lifestyle their sin their conduct as perfectly normal They want to justify their sin they want to justify their sin in their eyes they want to justify their sin in the eyes of God they want to justify their sin in the eyes of everyone else They want to legitimize their actions and they want everyone else to approve and applaud that as right and good one of the reasons that you should applaud it or that you should acclaim it is because it's difficult they say to be homosexual Sodomite today in our context that there's been so much prejudice so much discrimination and so it's hard to be a homosexual that's why the movement is worthy of acclaim worthy of applause so to speak However all of that if that's their agenda their agenda is to get approval for everyone else to condone their sin to approve of their lifestyle that presents a significant problem Homosexuality has long been held for centuries long been held to be immoral by others it's long held to be immoral their sin was in direct conflict with so called societal ethics or societal morality We all know that to be flowing out from ultimate authority ultimate morality which comes from God alone So if you want to move beyond homosexuality if you want to move homosexuality beyond mere tolerance beyond mere acceptance to approval you have to justify to yourself that it is right and good In the process of justifying yourself that it's right and good you have to convince others that it's right and good The way that you one justify yourself that it's right and good and then convince someone else that it's right and good is to demonize the opposition as evil It's not enough to say that I believe that homosexuality is a right and it's okay and we can just go along to get along It's not enough for that there's another equal and opposing force at odds against them so in order for my behavior if that's if I'm a part of that movement In order for my behavior to be condoned or accepted or applauded or fully approved of I not only have to convince myself and others that it's right and good I have to convince others that the opposition is evil it is to call evil good and then to go the next step to call good evil So what they have to do in order to accomplish their agenda justify myself and then oppose those or demonize those that oppose me They have to call good evil evil good and good evil what God condemns they affirm what God punishes they exalt and those that stand for good Those that stand for righteousness must be condemned and punished one commentator said this listen to this where at one time homosexuality was considered a pathological disorder Now those who oppose it will be deemed homophobic and suffering themselves from a pathological disorder Where at one time homosexual conduct was considered morally wrong now criticism of homosexuality will be considered morally wrong Do you see the agenda at work it's pretty obvious right this is clearly what's going on you can't mistake it you can't miss it To legitimize the one you must delegitimize the other in her book entitled the criminalization of Christianity Janet Folger describes it this way first gay activists come out of the closet second having come out of the closet they demand their rights Third they demanded that everyone else recognize their rights fourth by default they strip away the rights of those who oppose them Do you see that happening today yeah fifth they want to put those who oppose their rights into the closet That's the way that this works but you can see that map laid out and whether someone said well there's no agenda or there is an agenda That agenda that work and you can see that happening before our very eyes this is calling evil good and then going the next step to call good evil The very centerpiece of this agenda is the view that the homosexual movement is a civil rights movement I don't know if you guys have heard this or not but this is this has come out I mean I have to take it for what it's worth Gay is the new black have you heard that the audacity and ridiculousness of that statement is telling right that speaks volume For a long time now many in the movement would say that gay is the new black just stop to think about that for a moment And all that that entails and it is an absurd statement Why in this country do we have laws that protect the rights of blacks Hispanics women children and the elderly against discrimination Why do we have laws that protect them against discrimination It's because we as a nation believe that it is morally wrong to discriminate against them There are laws protecting those from discrimination because we think it's morally wrong And that's based on the word of God right morally wrong to discriminate against them So we have civil laws that protect against that discrimination The absurd claim and the immoral claim of the homosexual agenda is that the homosexual lifestyle is just as morally innocent as being black or Hispanic Or a woman or elderly or a child That it is just as morally innocent as being one of those All people are made in the image of God so our brother said this morning All people are made in the image of God and homosexuality is a violation against the image of God It's only the defiantly blind that cannot see that God deals with man according to his conduct We've said that in several places in scripture Revelation 20 the great white throne judgment The books were opened God judged each one according to his works Judged according to our conduct that's the way that God deals with us with respect to our sin We're judged according to our works whether good or evil Here the homosexual community would have you believe this is somehow a civil rights issue The passage of laws then that protect perversion When we pass laws that protect perversion they are not only immoral But because they violate an objective morality What we have is morality based on God's word And they end up then violating the rights of others You think about the way this whole thing works and you look at the departure from that in their agenda We have laws in our country to protect against perversion Protect against corruption and that perversion that corruption offending the rights of others Passage of laws then that protect perversion protect corruption are immoral Because not only then do they protect that perversion protect that corruption But by default they protect the offense against the rights of others There's no other way that it can work In our country there's no other way that this thing can go When we depart God's basis for morality When we depart let's just put it to a basic thought process When we depart objective morality and we start making up as we go along for ourselves Or doing what we think is right sort of in our own eyes so to speak Then the result, the net result of that is that humanistic inconsistency that we've seen In the homosexual agenda When one group's perverted or immoral rights are protected Another group's rights are going to be violated They can't stop at calling evil good They've got to press on to calling good evil So what about a Christian baker who wants to honor God in his business By refusing to bake a cake for a same-sex marriage Because it would violate their faith, their conscience to do so Doesn't matter anymore We were listening to a wretched radio A brother sent us a link to wretched radio podcast the other day Where a man was going around town, I think it was in New York And he interviewed called 13 different bakeries And asked for a cake in support of their pro-traditional marriage event they were having And he wanted the words on the cake to say, gay marriage is wrong So he calls up the bakery at 13 different bakeries Wasn't one or two, right? 13 different bakeries Asked for this cake and in every case got shot down That's not in view of what we believe We believe that that statement is wrong There were some folks who were just overtly hostile And using multiple explicatives and yelling over the phone I mean that kind of thing, if you heard that podcast Okay for them to do, not okay for him to do It's a double, it produces a wicked double standard If you depart God's morality, if you depart objective morality That's what you get Not only is the movement not a civil rights movement It becomes a violation of civil rights You see that? It must move on to calling good evil That's what happens when you abandon God's morality When you abandon God's morality Insanity ensues, right? Evil ensues Insanity in the courts ensue We see a legislative environment today that is ridiculous And the judgments of liberal, homosexual, Sodomite activist judges who pronounce these Vertics in their courts It's absurd, worldly reasoning Their feudal thinking Understanding in their hearts are darkened There's no way to be practically consistent Because we have abandoned our moral compass When this happens The approval of homosexuality will mean the loss Of religious liberty rights for all of us And the persecution of Christians is coming The prosecution of Christians is coming God's law is so simple You think about God's law, so simple God's law is so simple That once it was hung in elementary school classrooms You could go to any kindergarten class And see the Ten Commandments on the wall So simple, and yet so unimaginably wise So unimaginably, so beautifully perfect Just the omniscience of God The wisdom of God in his law It's staggering It's one of the evidences that this book God's law is not written by man Because of the genius, the brilliance of it So amazingly pure And in that perfect consistency If you just follow God's law Hang on to God's law, cling to God's law Perfect consistency When God's law is applied But many today In the homosexual agenda and otherwise Who may not have graduated the eighth grade Believe that they're smarter than God And believe that they can come up with laws That pertain to themselves and for themselves And are wise themselves to do that And we get away from God's morality God's laws and insanity ensues Think about it this way We oppose gay rights because the homosexual lifestyle Violates God's law The objection to that statement is that we then Impose our Christianity, our religion, our morality On others So that they say violates the separation of church and state We're not out to force people to go to church We don't force them at the point of the sword We don't threaten to blow up their businesses And send kids with bombs around their waist Into crowded areas to kill people In order to convert them to our religion However, all governments impose a morality on its people All governments do this All nations are built on the idea That there are objective moral laws That should govern society That objective moral law is then put in place By the laws that we pass If we have an objective morality That morality is enforced on the people, so to speak By the laws that we pass as a nation You think about those laws They're either going to be moral In connection to that objective morality Or they're going to be immoral And disconnected from it So we as a nation would say that murder is wrong Murder is wrong And yet now our country has passed laws Making the murder of babies legal Is that all moral or immoral? Immoral because it's gotten separated From the objective morality That we should be basing all of our laws on God's morality That's where our laws have come from, by the way The laws of a vast majority of the countries in the world Maybe North Korea excluded Are all based on an objective morality That has flowed from Christianity That has flowed from God's law And so when we make laws that separate themselves Or we separate them from God's morality Or objective morality, insanity ensues And you have a country that since the time That law was introduced has aborted 50 to 60 55 million babies That law is immoral That's a law our country passed You go worldwide, it's now The average is about 55 million babies Aborted per year Every 12 months in this world About 55 million babies are aborted You take the idea that someone who has cancer Suffering under pain We have laws in this country against murder And yet we pass a law then That in compassion for them We can kill them Kill them legally and call it euthanasia Is that law moral or immoral? It's immoral because it's separated from objective morality That is introduced to us by God You have countries now in societies That can even in our country Where the government can come in and seize your land What command does that violate? Of the Ten Commandments Command not to steal And yet we have laws that will allow a government To go in and take your land Is that law moral or immoral? More because it's separated from God's objective morality So governments around the world Based laws on objective morality We contend that comes primarily from God And even though there may be a separation Of church and state Which as Baptist we uphold as necessary There is no separation between God and state And God has given us the morality That we base our laws on If you take away that moral objectivity If you take away that objectivity Chaos ensues Insanity ensues In other words, we make it up as we go along We do this as we want to Driven by passions And our own understanding of what rights All those things, all that nonsense Insanity ensues Sam Waldron says this The choice is very simple Will our civil laws in the USA be moral Or immoral? They will be one or the other The homosexual says that it is immoral For his rights to be taken away We say that it is immoral For his lifestyle to be sanctioned And protected as normal and innocent By the state It comes down to whose morality You want to govern our nation The homosexual's morality or God's And that's the choice that we see today This is all headed because we have chosen The homosexual's morality as a basis On which we make civil laws in this country This is all headed in a horrendously Horrible, despicable direction Did you know that the very same arguments That have been used to legalize and support The homosexual lifestyle in the courts The very same arguments are being used For introducing legalization of pedophilia You can just take out the word homosexual And put in the word pedophile And the arguments work exactly the same That it goes beyond that This is just another example of man Rejecting, casting off the authority of God The opportunity for many, not just homosexuals To attack the word of God To attack God's authority Man outside of Christ will not submit to God Will not submit to his word They hate God's word They hate his idea of morality They hate his authority Will not have him to rule over me And this is an opportunity for the homosexuals Certainly to do it But then for everyone else to take up That just cause, right? Jump on the bandwagon and do the very same thing Just cast off God's authority The more support that they garner for themselves The more rabid they become And lashing out at any appearance of that authority You never noticed that? Someone you may disagree with And you may have a disagreement over Whatever it is, whatever subject it is But as soon as you bring up God Or God's word, what the Bible says That hostile, that opposition turns hostile That opposition just becomes inflamed They want to cast off anything to do with God's authority Or God's right as sovereign God to rule over them That's why this movement is so militant That's why this movement is so aggressive The real issue is that they want everyone They want our government, our schools, our businesses Our laws, our organizations, our homes Our families and our churches To approve of their sin That's what it comes down to To pronounce and believe that it is morally innocent And morally harmless However, it doesn't stop there They're gonna say that evil is good They've got to go the next step to saying that good is evil And so they want to marginalize, delegitimize Oppose those who oppose them They want to silence the voices of those That view their lifestyle as morally irreprehensible Morally harmful, morally destructive Inserous to our society, our government, our schools Our laws, our organizations, our businesses, our homes Our families and our churches That's why the movement is so militant, so aggressive That's what the war is ultimately for You boil it all down, it all comes down to that So in promoting their sin as innocent and harmless They can't simply work their agenda They must delegitimize or marginalize Or silence your voice against them They must do both, call evil good And work to call good evil Anyone who opposes homosexuality Homosexuality is viewed as hateful To speak out against the movement is to spew hate There is no in-between You either fully embrace it, or you hate it And we as the church, we as Christians The people of God can do one of two things We can either love them Or we can affirm them You get that?   Assumes that LGBT people are indispensable In our society And they view these people who nurture it These non-homophobes They view the LGBT lifestyle with delight And they are willing to advocate for them So you can Hang it up We're all homophobes If you're going to follow Christ There's no way you can escape that label No matter what you do If you have any disagreement at all You are homophobic And you're spewing hate Now on the opposing side We don't know this to be true We've seen real hate speech, haven't we? If you've watched the news Over several years You've come across Fred Phelps You've come across Westboro Baptist Or Ilk, right?    Ha ha ha I love the word of God Just clean pure water A breath of fresh air Isaiah chapter 5 verses 18 through 20 Woe to those who draw niquity with cords of falsehood Who draw sin as with cart ropes Who say, let him be quick Let him speed his work that we may see it Let the counsel of the Holy One of Israel Draw near, let him come that we may know it Woe to those who call evil good and good evil Who put darkness for light Light for darkness Who put bitter for sweet and sweet for bitter Woe to those who are wise in their own eyes And shrewd in their own sight Now Isaiah's name This is Isaiah chapter 5 verses 18 through 20 Isaiah's name Means salvation is of the Lord Salvation is of the Lord Isaiah served the Lord for about 60 years Through four kings And into the reign of another king Manasseh at the end of his service to the Lord Sixty year ministry Contained within the first section Of the book of Isaiah Are warnings About the judgment That is going to come to Judah The second half of the book is encouragement But Judah Began facing opposition They faced opposition from Syria And they faced opposition from Israel And so when Assyria rose to power Israel And Syria formed an alliance Israel and Syria formed an alliance To go against Assyria to fight against Assyria They asked Judah To join in Now this time Isaiah was serving under king Ahaz And Ahaz refused To help Israel and Syria Against Assyria So when Judah refused Syria And Israel came To Judah Judah tried to form an unbiblical Alliance with Assyria to fight against them The old twisted web So later under king Hezekiah The Assyrians under Sennacherib would invade Judah And attempt to take Jerusalem Isaiah later prophesies About Judah's defeat To what would be eventually the Babylonians But here they formed This unbiblical alliance This unhealthy unbiblical alliance with Assyria And so because of the nation's Idolatry that now Was a part of their worship Because of their alliance with Assyria Because of their lack of trust in God Because of the unbiblical alliance And because of their moral depravity Isaiah With God's word on his lips Pronounces woes Against Judah And these are called woe oracles Woe oracles What do you think of woe we've heard before Is wrath of Elohim W-O-E Wrath of God coming upon the people And there's going to be mourning Because of the approach of certain judgment Definite judgment that's going to take place And this time because of the woe oracles If you were mourning this as Isaiah Certainly was There were those that would weep Weeping, they'd shave their heads Dust on their heads, they'd wear sack cloth They would bring in Professional whalers This was serious business And you can imagine Isaiah Weeping over the country As he's preaching these words to them Seeing the coming destruction It's going to be an attack by Assyria It's going to go Undone, uncompleted so to speak And Israel would eventually be overtaken By the Babylonians And many carted off to exile So in verse 18 He says this, Isaiah to the people Woe oracle Woe to those who draw Iniquity with cords of falsehood Who draw sin as with cart ropes And all this We see the homosexual agenda We see what's happening Isaiah pronounces woe or mourning On those who intentionally And purposefully attach themselves To sin, right? They attach themselves to sin And the way that they're doing that Is with cords of falsehood Attaching themselves to that sin with lies With deception I am carting this sin along Because I want to For these reasons, and they're doing that in lies Homosexuality is normal What can be more normal Than two people loving one another Aren't we to love our neighbor? Isn't that part of God's intention? How could this be wrong When I love him, love her Attach themselves with lies There's nothing wrong with homosexuality As normal as heterosexuality Besides, I was born this way If God made me this way Then how can God Condemn homosexuality? Cords of falsehood Cords of lies, deception The picture here That's given is one of an animal Pulling a cart with ropes They've got their big red wagon of wickedness Their iniquity behind them Big red wagon of homosexuality Right? That now they're pulling along With cords of lies Cords of deception They don't reject it, in fact they're proud of it They're happy to be lashed to it Happy for the cords Happy to take them And happy to be dragging that sin with them The lies We know this from the rest of scripture also Are deceitful The lies they tell themselves are deceitful Because it puts people In bondage to the wagon It's the deception The lies they tell themselves That puts them in bondage to their sin Same works in any circumstance Not just homosexuality If you are committing a sin Committing a sin You're in a pattern of sin And you're trying to justify To yourself why that is right You are attaching yourself By cords of deceit Cords of falsehood To that sin You're going to be hardened By the deceitfulness of sin And you're going to be only too happy To be lashed to that cart Thinking that you're right with God Let's say any number of sins You get angry all the time Anger, anger, anger I'm Irish, that's the way God made me You convince yourself It's okay, it's not that bad I just got angry Besides I ask for forgiveness It's alright And you're just trapped in lust Are Christians going to struggle with sin? Yes, are they going to struggle with sin for a lifetime? Yes they are But Christians aren't going to be enslaved bitterly to that In such a way that they are okay with it And yet here They are content With dragging along that wagon of wickedness Being lied And lied to and deceived In their sin That which has attached it to their sin Or in their bondage to lust Or the lies they tell themselves and others We see that from the homosexual agenda One of the biggest deceptions We'll talk about later on this afternoon Is a deception that I was born this way God made me this way What we do in the privacy of our own homes Is our business Lie, deception Homosexuality doesn't harm anyone Massive lie It is just as perfectly acceptable For us to have children As it is for anyone else to have children Monstrous lie Jesus never said anything about homosexuality Lie, lie, lie If we get this You weren't any polyester lately You've been eating any shellfish lately And pointing to what they perceive as inconsistencies In God's word Deceptions, deceptions That they tell themselves So they can be happy carrying around their wagon of wickedness You have to recognize the process Nothing more here than Self justification As Hebrews chapter 10 says We can be hardened by the deceitfulness Of sin That's why I think that you generally see Such hostility from homosexuals They've been justifying their sin For so long They've been so hardened Their conscience has been so seared And so they lash out Whenever you poke At their defense mechanisms When you poke at their defensive walls So the perverted attachment to the sin Causes them in pride then To make absurd judgments about God About his word and his judgment Verse 19 Mocking, right? These are scoffers They mock in verse 19 They say, let him be quick Let him speed his work that we may see it Let the counsel of the holy one of Israel draw near And let it come that we may know it Wow, that is brazen Mockery of God's judgment His coming judgment They become, in a sense, practical atheists They believe in God But they will not believe what he has to say About their sin They won't live according to his word And they willfully reject that judgment is coming We see that in the New Testament Only from the words of Peter Peter says, second Peter chapter 3 Scoffers will come in the last days Those days are here Scoffers are here Scoffers will come in the last days scoffing Following their own sinful desires Is that not what we see The agenda doing? They're scoffing, they're following their own sinful desires They will say Where's the promise of his coming? Forever since the fathers fell asleep All things are continuing as they were From the beginning of creation For they deliberately overlooked this fact That the heavens existed long ago And the earth was formed out of water By the word of God And that by means of these The world that then existed Was deluged with water and perished By the same word, the heavens and earth That now exist Are stored up for fire Being kept until the day of judgment And destruction of the ungodly These are scoffers Homosexuals in this agenda Are practical atheists They mock God in a very prideful sarcasm That verse 19 is sarcastic And they say, let his judgment come Let his judgment come now So that we can see it In other words, if you're true, if you're real Then let it come now Peter says they ignore the fact of the flood But they also Ignore other signs too, don't they? They ignore aides They ignore Other STDs That are in the vast majority Of cases caused by A person's lifestyle Or a homosexual lifestyle According to a University of Chicago study Due to promiscuity That is common among sodomites 55.1% Of Chicago's homosexual population Had at least one Sexually transmitted disease Over half Had at least one STD According to the CDC, the Centers for Disease Control There are alarming rates Of intestinal parasitism For homosexual men And disproportionate cases Of hepatitis A, hepatitis B 75% Now, the percentage Of homosexuality among the population Like we said, anywhere from 2% Upwards of 3% The most recent number that I saw from the CDC Was 3.8% Identifies themselves as LGBT Of that community This says 3%, 2% 75% Of all All of the syphilis cases That are reported in the United States 75% of them involve homosexual men Grossly disproportionate, right? According to a 2005 study By the Canadian government, violence Was two times as likely Among homosexual couples as it was Among heterosexual couples Violence twice as likely Among homosexual couples List goes on and on That including the flood Should point to the glaring effects Judgment of God on the lifestyle On immorality But they don't seem to care They're pridefully scoffing in verse 19 You know, Ecclesiastes verse 8 Or chapter 8 verse 11 The Bible says, because the sentence Against an evil deed is not executed Speedily, the heart of the children Of man is fully set to do evil And yet All of that judgment The effects of sin And they simply will not acknowledge God It reminds you of Revelation, doesn't it? When God is Pouring out judgment By the bullfools on this earth And yet there are those who refuse To repent, they just blaspheme God Instead of mourning over their sin And repenting, turning back to God They actually taunt God in verse 19 Well, their position has to be justified In some way, that's where we get to verse 20 Woe to those, Isaiah says Who call evil good and good evil Who put darkness for light And light for darkness Who put bitter for sweet and sweet for bitter Once it's determined That God's word must be wrong Or that it doesn't apply Then God's standards can be reinterpreted They can be challenged Or they can be done away with altogether And that's what we see the movement doing His good word is reinterpreted Again, we're inconsistent Because we don't keep those laws About shellfish and polyester His word is antiquated His word is out of date, it doesn't apply today Besides, Paul was obviously a chauvinistic bigot It's a miraculous blindness Without God's inviolable word When that absolute truth Is abandoned Then fallen human reasoning Fallen human desire Fallen human passions Fallen human emotions Can rationalize And justify almost anything To make their sin Or their sinful action lifestyle acceptable So as we see in verse 20 Good and evil Light turns to darkness Sweet turns to bitter All become relative And it all becomes relative Because of the selfish indulgences The selfish whims of sinful people The desires of the person They're all redefined To satisfy the sinful desires Of depraved man Examples of that are what we've mentioned It's sin to kill someone with cancer And so we'll twist it Call it euthanasia Make it a merciful and good act It's wicked sin to kill a child And yet we'll twist that To be a righteous Upholding of the rights Of the mother Over her own body, right? So sodomy Homosexuality We'll twist Pervert the word of God Corrupt the word of God To twist it into something that Was good Besides we were born that way It's a matter of civil rights Just because they redefined it It doesn't mean that they lessen Not one might the authority Of God over that circumstance Or the relevancy of God's word And it doesn't delay God's judgment God's judgment Already here in many ways We'll talk about that later this afternoon As we take a look at Romans 1 together But certainly doesn't delay God's judgment Complete judgment Full and final judgment Doesn't delay it one bit Verse 21, woe Wrath of God Woe to those who are wise in their own eyes And shrewd in their own sight Woe is mourning And lamentation at the coming of judgment Over the cause Of this wicked abandonment of God's word The cause of all this Is that people do what they want to do And they ignore God's word to do it They believe that they Are the authority They have the right Themselves to say What is good And what is evil Truth comes from what they think They can determine that for themselves No one else can tell them How to live or what to do Because they know for themselves What is right Pride leads them to abandon God's law Pride makes it so they don't listen Pride makes them battle For the right to do their evil And pride makes them think They have the right to redefine it as good It's just an outpouring Of the depravity of man Pride ultimately That leads them to replace The word of God with such Abominations as the Queen James Bible A well-known lesbian professor and social worker Named Barb Burge Said this, homosexuality basically Is challenging oppressive gender Structures and making Gender rights a priority These are critical steps toward Universal freedom For them, right? And punishment Gender non-conformity She urges social workers To challenge gender Stereotyping unceasingly Whatever the forum We must be capable of sophisticated Conversations on gender If we hope to, listen to this Cure the social diseases Of sexism Homophobia, heterosexism And transphobia As they define that In all our communications We connect the language of diversity And inclusivity Into a gendered world You combine that notion With the reality of liberal And activist judges A highly litigious society The ridiculous costs involved Of trying to defend that in the courts, right? And the workplace fear That causes, among most people And you have a recipe for Continued insanity That's because we have abandoned God's law They have calling Evil good And then progressing to the Necessary extent of that Calling good evil We need the Lord, don't we? We need the Lord, they need the gospel We need to be faithful to the Lord In sharing the gospel The hope for all this that we'll discuss In a later session is the gospel Is our Lord Jesus Christ, is God's word We need God's help to do it And we just need to pray We're dependent upon the Lord for everything, aren't we? And the faithful righteous prayer Of a righteous man avails much We need to pray to the Lord for help in this We need to trust the Lord The Lord knows what he's doing The Lord is sovereign But we as Christians, let's just be faithful To him and then trust him with the results Alright, let's pray Father in heaven, we thank you That you are sovereign Thank you, Lord, that you didn't Just set the world off spinning To see how it all turns out We thank you, Lord, that you are close Or that you are in our hearts, in our minds As the Bible says, in our mouths That we may know you That we may stand For you, that we may fervently Live for you, that we may Trust you and depend upon you Or that we may wage A Holy war, as Paul says to Timothy Wage good and righteous Warfare for you Making a stand for your truth as Holy, just and good For your law as holy, just and good And not just good for us, but good for everyone Because it is holy, just and good We praise you, Lord, for the instruction That your word provides Praise you, Lord, for the power And the strength that your spirit supplies The illumination that your spirit supplies The understanding We pray, Lord, that we as your people Would be faithful to live for you Faithful to preach your gospel So that lost people can be saved Lord, and just I know with my brothers and sisters Look forward to that day When we can be free from This wickedness around us, Lord But that we can be fully and finally Free from our own flesh We can worship you in purity In truth and holiness for all Of eternity, for your glory And it's for our good, and we know that, Lord Thank you, in Jesus' name we pray Amen


In this video, we are going to see how to use a byte scout barcode-read-residk to read the barcodes. Let's get started. So here, we are having few barcodes, one in the code 39 format, one in the code 139 format and one qr code. And we are going to utilize these images and going to read what it is containing. So I'm going to create a new console application. Let us say, like, I'm going to add a reference by a scout barcode-read-residk. Here it is. Also, I'm going to add all these sample images and making sure these are contained in the bin folder. So copy always. Okay. Our plan is very simple. So first of all, we're going to create the instance of the reader class. Then we're going to specify which barcode type to read. Then we're going to load file and basically output. Okay. So let's get started. So I'm adding reference by a scout barcode reader. Now let us create the reader object. I'm going to pass the registration name and key here. So I'm using the demo key. So it is having the limitation, like all the text are not extracted. It means some of them has the masking. But if you purchase it, then you will utilize the full power of this. But this will do the thing. Basically, this will demonstrate how it is going to read it, perform. I'm going to specify which barcode to read from, like, barcode-types.find. Let us see what the code 128 here. So here you can see it is providing the wide range of the barcodes here. And if you are not sure about which barcode to read, you can basically provide all equal to true. But it's not preferred way. It will increase the CPU cost. So if you know which type of barcode it is, it's good to specify it. So we have enabled the code 128 here. We are loading the file, reader.readFromFile. So if you see, like, here, there are various options available. Like you can read from the PDF file, PDF file page. You can read from the stream. You can read from the bitmap. So just reading from file here. And going to provide the file name. And let us see what is the output. So if reader.foundCount greater than 0, which means it is containing the output. And let's see how many barcodes it is containing. So I am getting the instance of the found barcode in these collections. Found barcode. So all the barcodes it found will be here in this array. Okay. And let me write it on the console console.writeLine.foundBarcode.value and type. Let me pause the console here. I guess we are ready to go. Let's see. I am going to start the page and here it is. It has found 128 type barcode and here is the value. So this text is due to be using the demo keys. Now let us see how it is performing for this type. You can either replace this or you can add addition to barcode type like here. So if you are more than one or two types of barcodes, so you can specify as many types as you like. Let's see the output. Okay. It has found a code 39 and let's also add a QR code reader.barcodetypes.found at QR code. Let's see the output. Here it is. Okay. This much of easy to utilize a barcode reader class from the byte scout.


My name is David Matlack. I'm from Google, and I'm going to be talking about exploring an architecture neutral MMU for KVM. So first, what do I mean by memory management in KVM? Stepping back to about 10,000 feet. We've got user space calling into KVM, configuring the guest address layout, and how it's mapped to virtual addresses. That's basically mem slots. And then that informs how KVM sets up page tables to actually map host memory into the guest. Meanwhile, you've got VCPUs running concurrently, accessing memory, faulting on memory, which has to be resolved in the page tables. And then MMU notifiers coming from the host to reflect changes in the host page tables into KVM, such as if a page gets swapped out, unmapping it from KVM's page tables. So the thing to look at here is, core to the managing of memory in KVM is the page table management, which is actually how the memory gets mapped into a running virtual machine. And that there's a lot of inputs to this, and a lot of concurrent inputs to this. So the KVM MMU in cloud is a very critical piece of KVM. And the main important thing is the scalability of the KVM MMU. In cloud, we have large VMs with hundreds of VCPUs and terabytes of RAM. So within Google Cloud specifically, we've got up to 400 VCPU VMs and 12 terabytes of RAM. Broad range of customers that have a range of many different workloads and performance sensitivities. And live migration is a critical part of our host maintenance strategy. So VMs in cloud primarily use, at least in Google Cloud, these direct two-dimensional paging. And what I mean by that is a second stage of paging that translates guest physical addresses to host physical addresses. So within KVM x86, we call that TDP. KVM x86, we can do shadow paging, but it's only really required on ancient CPUs. If you look at ARM, it's always required TDP support, which is called stage two in ARM. The one exception to this, which I'll talk a bit more about later, is nested virtualization, which does use some amount of shadow paging. So a lot of development has gone into making the TDP in KVM x86 very scalable and performant for the cloud use cases I described earlier. I've got some years here about recent developments, but a lot of these features date back to 2015, some date back to 2012, in terms of how long we've been using it within Google Cloud. But in 2020, we upstreamed an entirely new MMU in KVM x86 called the TDP MMU that's focused on just the TDP paging use case, so it doesn't do any shadow paging. And within this, we added support for power level fault handling, so VCPUs could fault and populate non-present entries in the page tables in parallel, handling of write protection faults or dirty logging without taking the MMU lock. This dates back to almost 2012 in the x86 shadow MMU. And then support for eager page splitting, which is when at the beginning of dirty logging, the page tables are split down to 4K entries eagerly in the background rather than lazily at fault time. And this kind of isn't the end of the road, so more development is underway. We're working on new MoWare page table allocation doing d-bit based dirty logging, so not requiring any faults at all and just letting dirty bits be populated by hardware and support for the multi-generational LRU, which is a new way of doing access tracking in the core MM that requires some integration in KVM. So as Oliver mentioned in the last talk, Google Cloud recently announced our first ARM-based VM offering T2A VMs, support up to 48 BCPUs, 48, four gigs of RAM per BCPU based on the Emperor Ultra ARM-based processors. So we faced a lot of challenges scaling the KVM ARM and the MMU for these VMs. Oliver talked about these in the last talk, but if you weren't here, there's interconnect scalability, so in the actual hardware to handle broadcasted tail BIs and cache maintenance. The ARM architecture requires certain PT changes used break before make, which makes them very expensive and a few other issues as well. And many of the improvements to address these were ARM-specific, so for example, one of them was using a local TLB flush instead of a broadcast TLB flush after resolving write protection faults. But at the same time, we're still adopting many of the same techniques that we learned on the x86 side in the TDPM-U. So for example, Oliver upped in from Google recently, upstreamed or posted to the mailing list parallel fault handling that uses the same sort of reader-writer lock and RCU techniques that the TDPM uses to parallelize page table management and then doing eager page splitting to avoid page splitting faults. So if you look at the features we've got on x86 and what's upcoming, there's a lot of overlap between what we have on x86 and what we wanna do on ARM. So parallel fault handling and eager page splitting already mentioned, lockless write protection fault handling we have on x86 that's probably going to be an improvement on ARM that will be useful next until ARM has something like PML. Same thing with DBit based dirty logging and multi-gen LRU support. And if other architectures get traction in cloud and needs to support live migration, for example, risk five is a new architecture that's been getting a lot of attention. We expect to see a lot of the same bottlenecks that require very similar software solutions. So we may end up having to main N copies of these features. So is there ways we can share code instead? So the common theme among all these features is it's all about page table management, specific modifications to the page tables, plus ways to synchronize those changes. So parallel fault handling is all about how do we map guest physical addresses to a host physical address at some level in the page table hierarchy with certain permissions. Your page splitting is taking a range of guest memory and splitting all the huge pages down to a lower level, et cetera. Okay, so to start we can look at, well, what if we could make the TDPMMU in x86 architecture neutral and move the code from the x86 directory into an architecture neutral directory. And when we do this really the only thing we need to delegate to the architecture specific code is the low level architecture specific details like the layout of the page table entries and how to implement an actual TLB flush. And then once we've done this we can expose an API for common operations like for fault handling mapping a guest address to a physical address at a given level, relaxing the right permissions for a given guest address, et cetera. And then we can expose the TDPMU iterator which is the sort of basic data structure that all the TDPMU page table operations are implemented with. We can make it available for architecture specific page table operations. So I've worked on this internally. The RFC patches will probably be posted in a couple weeks but it is possible. And we go from having about 2.2300 lines of code in the x86 directory to about 91% of that being able to move to the architecture neutral and birth slash KBM. Okay, so we can make the x86 TDPMU architecture neutral but can it can actually support ARM or is it just a bunch of architecture neutral code that only gets used on x86? So x86 and ARM both use TDP. They both use a second stage of translation for VM memory and that second stage of translation and both uses a page table data structure. The page tables are page size, page table entries are 64 bits and each page table entry can point to a lower level page table entry or a huge page or page or nothing. So it's a pretty standard page table data structure. And of course page table entries can control read, write, execute and other attributes. But there are some major differences between x86 and ARM so I'll go through those that are relevant for doing sort of TDP paging now and sort of talk about how solvable they are and what kind of changes we would need to support it. So the first step is the memory model. So x86 uses a total store ordering memory model whereas ARM is weekly ordered. This is very solvable, it is just a software problem. So for one, PT writes in the TDPM mu would need to use SMB store release instead of just write once and there's probably some other minor changes to the sort of low level concurrency code in the TDPM mu that would need to use the appropriate barriers for ARM. Next up on x86 pages are always four kilobytes but on ARM pages can be four kilobytes, 16 kilobytes or 64 kilobytes. So is this solvable, yes. So KVM ARM stage two page sizes always follows the host page underscore size. So the TDPM mu instead of assuming page tables are four kilobytes and the guest pages are four kilobytes would need to use, you know, key everything off of the page size. For example, when calculating how many PTEs there are per table and when we're dealing with the different levels in the hierarchy, the TDPM mu today uses very 4K focused page level names like the 4K level, the two meg level and the one gig level. So we need to abstract that out to more architecture neutral names. Okay, next is the root page tables can be slightly different on ARM. So x86, the root page table is always just one page but on ARM you can actually concatenate pages together to avoid one level of lookup. So this is useful for supporting larger physical addresses instead of needing just one, like fifth level of page tables that just uses the first, you know, 16 entries. You could just have 16 concatenated level four page tables and the page table walker can avoid a level of lookup. So this would require some changes to the TDPM mu to support. So the root page table allocator and the TDPM mu would have to know how to allocate contiguous page tables depending on what the VM needs. And then the iterator, the TDPM mu iterator which is responsible for actually walking through the page tables would have to know about that roots could be contiguous and how to walk through the contiguous roots. I'll know that this would be required for performance parity with KVM ARM but isn't required for correctness. So. It is required for correctness. Okay, so that. That really doesn't work if you don't support contiguous page tables. Okay, so the comment from Mark was that this is required for correctness. Okay, so next up is huge page splitting which Oliver talked a bit about in the last talk. So on x86 huge pages can be split in place and what I mean by that is the huge page PTE can be directly replaced with the PTE that points to a lower level page table that's populated with the identical mapping. But on ARM, a break before make is required to split a huge page which means that the PTE must be marked invalid first and then flushed from all CPUs that are using that PTE and then it can be replaced with a PTE pointing to a lower level page table. The caveat here is newer versions of the ARM architecture support level two break before make which relaxes this requirement. So in terms of supporting this on the TTPM and you we could just add break before make support to the eager page splitting path that's keyed behind a static key check if the break is actually required or we could just require, you know only use the TTPM on CPUs with break before make level two. One thing I wanna note about the break before make level two support is that it's not it's not a free lunch so it can result in TLB conflict aborts which do require additional software to handle and maybe expensive to handle so this needs to be kind of explored further. So the level two break before make I don't think is even supported on the KBM ARM side yet. All right some other notable differences ARM requires break before make for other PTE changes as well but I went through the TTPM and you and I don't think any are relevant to the types of PTE changes that the TTPM and you makes most of the time we're modifying PTEs we just unmapped the range and let VCPs fault it back in to pick up any changes that it needs to make. The error page splitting is the only case where we're actually changing PTEs in place that require break before make in ARM architecture. ARM also requires cache maintenance operations after certain PTE changes so we would have to audit the different PTE changes we're making in the TTPM and you and make sure there's the appropriate hooks for ARM to actually do those cache maintenance operations this needs to be explored further. ARM does not guarantee permission faults evict or avoid creating TLB entries so on x86 side anytime you get you know so if we're on Intel for example if you get an EPT violation you're guaranteed that no entry if an entry in the TLB caused that fault it's been evicted so you don't actually have to do a manual flush you can just repair the PTE and resume the VM but on the ARM side there's some cases like so for example taking a right protection fault during dirty logging you actually have to do a TLB flush so we'd have to make sure we do that for the TTPM and you and the last is contiguous PTEs so ARM allows creating essentially intermediate huge page sizes where like up to 16 contiguous PTEs can combine be combined together to create one huge page kind of an intermediate huge page so Linux supports contiguous PTEs in the core MN but KVM ARM doesn't use contiguous PTEs for stage two today so for parity this isn't any no contiguous PTE supports needed to support KVM ARM in the TTPM and Mew but this might need to be revisited in the future so if 16 kilobyte granules or 64 kilobyte granules gain traction for cloud and virtualization then contiguous PTEs become very useful because they provide much more useful huge page sizes like two mag and one gate huge pages so that might be a point where we have to actually support contiguous PTEs okay the next thing I wanna bring up is PKVM so this isn't an architectural difference now but just in terms of software integration if we actually had this architecture neutral MN view so the TTPM Mew as I've described it is not compatible with PKVM today the reason being that the TTPM Mew calls out into Linux to use RCU do rescheduling, do locking, allocate memory but PKVM does the stage two page table management outside of KVM in this thing called the height which runs in a separate exception level and doesn't have access to call into Linux routines so we wouldn't be able to just sort of build the TTPM Mew into PKVM into the height and use it there but that's not to say that the TTPM Mew couldn't evolve to support PKVM we could do the same sort of refactor that was done on the KVM arm side to split out the pure page table manipulation code from the higher level operations like the locking and allocation RCU is a little bit trickier to support so RCU is used in the TTPM Mew for page table freeing but it's possible to come up with a solution that doesn't actually depend on RCU to make it work and this could be an opportunity to deploy PKVM a PKVM like solution to other architectures in a common way because the same sort of idea of pulling the TTP or the stage two page table management out of KVM and making guest memory inaccessible to KVM and Linux could be done on x86 as well. Alternatively, PKVM could continue using the KVM arm stage two code Android and cloud are very different use cases but this would be an increase to test and maintenance complexity to be managing two different stage two page table managers. All right, so nested virtualization as I mentioned earlier, it uses shadow paging so the TTPM Mew does not do shadow paging so on the x86 side, we have our sort of legacy MMU that did support shadow paging that's what we use for nested so if we adopted the TTPM Mew KVM arm we need to do the same implement a separate shadow paging infrastructure could we do architecture neutral shadow paging for nested virtualization that would be pretty difficult because shadowing, doing shadow paging is inherently very architecture specific because you're shadowing whatever the guest is doing and the guest could be using any architectural feature whereas in everything I've been talking about this talk we can pick and choose what features we wanna use within KVM that being said, power virtualization could be a path towards an architecture neutral nested support so some sort of pervert interface for doing nested virtualization we could build into that some sort of architecture neutral memory management for L2BMs but I do wanna note that the TTPM Mew does interoperate with shadow paging so it's possible to use, this is what we do on x86 we use the TTPM Mew whenever we're running the L1 and then whenever L2 is running it uses the shadow paging code and so there's some interoperation between those two because for example, when we're running an L1 we wanna write protect the hypervisors page tables all right, so in conclusion about 90% of the existing TTPM Mew can be made architecture neutral using the TTPM Mew for arm stage two is feasible but would require some changes to the TTPM Mew and comes with some caveats so as I mentioned, PKVM would not be supported initially and CPUs with the break before make less than two would, you know, we'd either not support them or would have to add break before make support which honestly wouldn't be too bad it's just a code complexity trade off so I'll be sharing the RFC patches to refactor the TTPM Mew out pretty soon probably within the next month and so I'd be curious to hear if any other architectures would be interested in this and what other changes would be needed and then also on the arm side with the PKVM that caveat there, what we can do or what the feedback on that is so that's all I had, so yeah, any questions? I think there's a mic so we'll pass that around. You mentioned that CMOs were needed for PTO dates I'm quite surprised because the page table worker is coherent with the CPU that's one of the many requirements I'm not sure what CMOs you're referring to Okay, yeah, this might have been just a poor misreading of the arm arm on my side if we don't need CMOs for page table changes No, no, we need CMOs for the data that is ported to by basically the actual page of data in some cases we do need CMOs but not for the PTOs Not for the PTOs, yeah, sorry that might have just been a typo then we need CMOs in certain situations For example, if you're editing a page you're unmapping a page you don't know whether the guest has mapped it cacheable or not cacheable so you don't know at what level of cache the data is and if your interconnect is not as great as your device that you'll be using to swap the page out is not coherent either you need to flush that to the TOC so that the page can be truly reused but that's the data, not the PTO Okay, yeah, thanks I had basically the same question but on the other comment about maintaining PKVM separately I strongly recommend not doing that That's a quick question Okay It's a quick question Does the TDP MMU place any restrictions on the input address size and the output address size for the page table? Like, does it require it to be the same as the host kernels stage one, for example? Offhand, I'm not sure I'm not aware of any Because it was just one you listed things like page size and stuff but we allowed the IPA size to be specified for the guest so we would still need that flexibility with the TDP MMU if we were to... Okay That's kind of code Okay, cool Any more questions, Howard? So for the PKVM thing would it make sense to have an architecture neutral kind of dumbed down TDP MMU that we could also use on X86 just for testing so that at least it doesn't break So we have two MMUs but at least they are all architecture neutral and better than having like... We reuse the same hooks just have two different commons code like to do with like 3RCU and a tiny RCU Maybe that could be a way to get it done for PKVM as well Yeah, it would be nice if we could... Perhaps if we could instantiate a TDP MMU and use the pass and flags to say whether or not you can use these features and you get a different flavor I think one of the things that PKVM uses quite heavily which I think normal KVM does not is that we use the page table as a source of tracking page ownership So we have a lot of invalid PTEs encoding lots of data and they might become valid and then we have to use software bits to track transitions between pages So we would need some things to be able to get at those bits as well So you're on the TDP MMU Yeah Yeah, so the way I've been thinking about it is the architecture code would own the PTEs as Paolo said So when you're instantiating like a new mapping the architecture code would construct the entire PTE to put in whatever it wants The TDP MMU, all it would do is take care of doing the walk down to the right table and sort of allocating along the way and then making sure that the... when you actually want to do the PTE modification it's done in a way like it uses a compare exchange and it does the appropriate walking and everything Chris Have you looked at whether this is beneficial or worse even for things like TDX or ACV? Yeah, so for TDX the direction they're going is to keep using the TDP MMU as is So they end up managing There's two parallel tables KVM manages the TDP pages like it does today but anytime it updates a PTE it does the same call into the TDX module to update the actual page tables that are used So the changes to the TDP MMU are pretty minor For SEV I don't believe there's much changes needed in the actual TDP MMU, Paolo, do you know? Yeah Yeah, but actually the TDX approach is kind of interesting I was curious if something like that could work for PKVM or... But the... Yeah, yeah, yeah There was a hand up in the back before that question, was that person still here? Question? I think they might have walked out after Thank you, thank you Okay, thank you


The secret of business and life is knowing a lot of really specific business things like counting and marketing. And those are all true, but that's not what separates successful people from non-successful. The reason I succeed is I never give up. Even the most famous people you're thinking, these people have stared down. I read a book recently about Elon Musk just like three years ago. He was pretty sure he might lose everything, all his Tesla. He would lay on the floor. They would worry he was dying. He would lay in his office nine hours straight with the lights off of his face down because he was so overwhelmed thinking he's going to fail. But his one secret is, and he said this, Charlie Munger says, what happens? We're in the river of life and if the river is behind me pushing me forward, I swim. And if the river is against me, I swim. We never give up. And you have to do that. And that is more predictive of your success as an entrepreneur.